Я использую Here Map Android SDK. В настоящее время мое приложение может рассчитать начальный маршрут и нарисовать его через NavigationManager. Слушатели реализованы, и он будет пересчитывать / перерисовывать при изменении позиции, но у меня есть движущаяся цель: пункт назначения - это еще одна позиция транспортного средства, которую я получаю от веб-службы с интервалом в 30 секунд.
Как правильно настроить маршрут для изменения пункта назначения?
Самый простой способ - создать новый маршрут с обновленной путевой точкой назначения, рассчитать ее, а затем заменить старый маршрут и его слушателей новым. Я боюсь, что это тратит впустую вычислительные ресурсы и производит отставание / мерцание на карте во время перерисовки. Если это действительно путь, как мы можем минимизировать проблемы с экраном?
Я пытался просто изменить координаты путевой точки, но это никак не отразилось. Я искал слушателя "изменения путевой точки маршрута", похожего на слушателя трафика или местоположения, но не смог найти ни одного.
Обновление: Поскольку здесь подтверждено, что пункт назначения маршрута не может быть обновлен, я уточняю свой запрос на "howto":
Какие объекты я могу использовать в новом? Какие объекты мы должны удалить с карты и / или уничтожить, чтобы избежать утечек?
Первоначальный план:
- сохранить указатель на путевой точке, исходный маршрут (пропущен ли какой-либо?)
- изменить координаты путевой точки назначения
- создать новый маршрут и рассчитать его
- переместить маркер карты назначения в новое место назначения
- добавить новый маршрут
- удалить исходный маршрут (я предполагаю, что начало маршрута похоже в большинстве случаев обновления, поэтому мы избегаем "мерцания")
Что-нибудь пропало? Слушатели обрабатывают?