Рисование на битмапке, в принципе даже проще, чем Canvas и GDI. Главное помнить, что код вызывается из потока и юзать синхронизацию.
Кстати, глянул сейчас на отрисовку границ тайлов - у нас там используется всего одна битмапка и на ней по-очереди рисуются границы, хотя по-моему можно же было сделать пулл битмапок и рисовать асинхронно? И скорее всего такая же логика заложена у всех векторных слоях?
Вопросы по исходному коду
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду
Ну оно и так выполняется асинхронно в одельном потоке. А тот синхронизатор просто для случая паралельно запущенной склейкиzed писал(а):у нас там используется всего одна битмапка и на ней по-очереди рисуются границы, хотя по-моему можно же было сделать пулл битмапок и рисовать асинхронно?
Вот когда будет реализована "0002616: Создать интерфейс рендеринга текста в IBitmap32Static" тогда и синхронизация с отдельной битмапкой уйдет.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: Вопросы по исходному коду
День добрый, подскажите пожалуйста, для чего используется Embedded Web Browser (формы InvisibleBrowser и InternalBrowser) ? Вся загрузка тайлов осуществляется при помощи классов в каталоге Network, если верно понимаю
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду
InternalBrowser используется для отображения описаний меток, объектов, информации о картах и тд.Alex54 писал(а):День добрый, подскажите пожалуйста, для чего используется Embedded Web Browser (формы InvisibleBrowser и InternalBrowser) ? Вся загрузка тайлов осуществляется при помощи классов в каталоге Network, если верно понимаю
InvisibleBrowser в жалком зародыше антибана, который призван сделать вид что мы браузер.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: Вопросы по исходному коду
Спасибо Вам !
Все-таки хочу победить рисование, делаю слой, взяв за основу класс TBitmapLayerProviderByTrackPath. Подскажите, есть ли пример отображения трека (скрин программы, чтобы понять, что делаю, по коду вижу, что даже цвет меняется от скорости объекта), как это выглядит на карте ? По коду пока вопросов нет, разбираюсь, концепцию Вы мне объяснили в одном из предыдущих постов
Все-таки хочу победить рисование, делаю слой, взяв за основу класс TBitmapLayerProviderByTrackPath. Подскажите, есть ли пример отображения трека (скрин программы, чтобы понять, что делаю, по коду вижу, что даже цвет меняется от скорости объекта), как это выглядит на карте ? По коду пока вопросов нет, разбираюсь, концепцию Вы мне объяснили в одном из предыдущих постов
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду
Ну, готового скрина нет, а что бы сделать нужен gps или эмулятор. Выглядит просто как разноцветная линия на карте.Alex54 писал(а): Подскажите, есть ли пример отображения трека (скрин программы, чтобы понять, что делаю, по коду вижу, что даже цвет меняется от скорости объекта), как это выглядит на карте ?
А что конкретно сделать пытаетесь. Может подскажу что-то полезное.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: Вопросы по исходному коду
В основном, пока пытаюсь разобраться, понять иерархию классов и какие классы (группы классов) какие функции выполняют. Собственно то, о чем кто-то выше интересовалсяvdemidov писал(а):А что конкретно сделать пытаетесь. Может подскажу что-то полезное.
Re: Вопросы по исходному коду
Подскажите пожалуйста, как сделать возможным обработку щелчка мышью на карте по треку (получается, уже на собственном слое, onMouseDown в главной форме) с отображением банера, как у Вас в линейке это сделано ? Дайте направление и в каком модуле у Вас этот банер реализован ? Премного благодарен за внимание !
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Вопросы по исходному коду
Не понял о каком банере идет речь, но обработку кликов по треку нужно делать по аналогии с кликом по векторным объектам. Тоесть делать аналог IFindVectorItems, который будет возвращать не набор векторных объектов, а информацию о ближайшей точке трека. И вызывать вручную в mapMouseMove главной формы.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: Вопросы по исходному коду
Спасибо, под банером я имел ввиду текстовую надпись с обозначением длины при добавлении узла линейки. В каком модуле это сделано и как туда вывести свой текст ?vdemidov писал(а):Не понял о каком банере идет речь, но обработку кликов по треку нужно делать по аналогии с кликом по векторным объектам. Тоесть делать аналог IFindVectorItems, который будет возвращать не набор векторных объектов, а информацию о ближайшей точке трека. И вызывать вручную в mapMouseMove главной формы.