vdemidov писал(а):IGpsTrackRecorder возвращает итератор последних полученных точек IEnumGPSTrackPoint, который затем передается в создаваемую ренредилку TBitmapLayerProviderForGpsTrack, которая уже и занимается рисованием трека в битмапках. Вам нужно сделать свой аналог класса TBitmapLayerProviderChangeableForGpsTrack, который будет не запрашивать трек, а сам его считывать из файла. Что-то в таком духе. Точнее зависит от того, что же вы хотите получить и зачем.
Виктор, спасибо огромное за быстрые и лаконичные ответы, сделал итератор, все получилось.
Точнее зависит от того, что же вы хотите получить и зачем.
Сделал загрузку треков из специфических гео-форматов РНИЦ, а также треков kml, navitel.
Коллекция подгружается при старте программы здесь (в методе InitLayers)
- Код: Выделить всё
VProvider :=
TBitmapLayerProviderChangeableForGpsTrack.Create(
VPerfList,
GState.GUISyncronizedTimerNotifier,
FConfig.LayersConfig.GPSTrackConfig,
GState.Bitmap32StaticFactory,
GState.GpsTrackRecorder
);
1. Скажите пожалуйста, как правильнее сделать такую загрузку трека "динамически", чтобы во время работы программы можно было загрузить другой трек (удалив предыдущий) ?
2. Где в интерфейсе спрятана настройка цвета трека от входящих данных, т. е. скорости ?
P. S. Извините, что мучаю вопросами, но уж больно интересная программа.