android - 在目的地更改时重新路由此处地图。这是一个移动的目标
问题描述
我正在使用 Here Map Android SDK。目前我的应用程序可以计算初始路线并通过 NavigationManager 绘制它。侦听器已实现,它会在位置更改时重新计算/重绘,但我有一个移动目标:目的地是我每隔 30 秒从 Web 服务获得的另一个车辆位置。
根据目的地变化调整路线的正确方法是什么?
简单的方法是使用更新的目的地航路点创建一条新路线,对其进行计算,然后用新路线替换旧路线及其侦听器。我担心这会浪费计算资源并在重绘期间在地图上产生滞后/闪烁。如果这确实是要走的路,我们如何最大限度地减少屏幕问题?
我尝试仅更改航点的坐标,但没有任何影响。我搜索了一个“路线航路点更改”侦听器,类似于交通或位置侦听器,但找不到任何东西。
更新:由于此处确认无法更新路线目的地,我澄清了我对“howto”的要求:
我可以在新对象中重用哪些对象?我们必须从地图中删除和/或销毁哪些对象以避免泄漏?
初步计划:
- 掌握航路点,原始路线(缺少任何?)
- 修改目的地航点坐标
- 创建一条新路线并计算它
- 将目的地地图标记移动到新目的地
- 添加新路线
- 删除原始路线(我假设在大多数更新情况下路线的开头是相似的,所以我们避免“闪烁”)
有什么遗漏吗?听众处理?
解决方案
到目前为止,这里的 SDK 不提供此类功能。您不能更改现有路线或更新其目标。如果你有新的目的地点,你应该计算新的路线。
推荐阅读
- symfony - Symfony 形式,EntytyType/ChoiceType 来自 2 个不同的实体
- java - 使用 Streams Java 8 将自定义对象列表合并到单个列表对象
- python - SQLAlchemy:如何访问两个表中的关系
- image-processing - 在 python 上用数据点拟合二维高斯
- java - Activity 没有响应并且 RecyclerView 没有反映变化
- c# - 使用触摸控件围绕中心旋转播放器
- sql-server - 在 SSRS 报告的导出文件名中添加参数
- firebase - 上传到 Firebase 存储失败
- javascript - 将数组的字符串化对象隐蔽到 Expressjs 中的对象
- javascript - 附加 ul li 元素以响应 DOM