javascript - Leaflet js 在接收来自 GPS 设备的实时更新并在地图上移动时“跟随”一个标记。还可以停止跟踪标记
问题描述
当 GPS 设备以随机间隔发布其纬度和经度时,我有一张带有标记的传单地图。
问题是我必须手动拖动地图以跟随标记,因为它接收更新并在地图上移动。
几个小时后和大量的研究工作:
我使用一个捕捉到标记当前位置的按钮实现了一个半解决方案,但是我每次移动时都必须单击该按钮以使标记保持在视线范围内。
onclick="mymap.fitBounds(gotomarker1.getBounds());"
有没有办法我可以单击标记本身,然后将标记保持在地图的中心,因为它接收纬度和日志更新并四处移动?*理想情况下不是按钮,因为可能有很多标记,我不想要一个充满按钮的页面。
我已经尝试应用一个 on.click 函数来循环上面的 gotomarker1 代码,但是一旦它开始我就无法停止它,这是一个问题,因为我可能想要遵循或不遵循多个标记(澄清我只想要一次跟随一个标记)。
解决方案
我解决类似问题的方法是将被跟踪的标记存储到变量中
onclick="selectedMarker = myMarker"
每当您收到位置更新时,只需将地图聚焦在 selectedMarker 上
// update all locations
// ...
// focus selected marker
mymap.fitBounds(selectedMarker.getBounds());
推荐阅读
- android - 控制何时在 Google Play 商店上发布您的应用
- javascript - findIndex 返回未定义而不是数字
- javascript - 将 React 组件注入 html 页面
- java - 无法让 UHF 阅读器读取标签
- python - 单击按钮后是否可以添加 2 个新的输入字段?
- docker - Flask Docker - 2 容器通信 - ConnectionError:HTTPConnectionPool:url 超出最大重试次数:
- list - (l+v) :: ...(list + integer :: (cons operand) ..) 在 SML 中是什么意思?
- pdf - 使用从 Web 表单中检索到的信息生成 PDF
- java - java.util.List 不能用 List.of 分配类
- android - 如何将日期时间从 MST 转换为 EST?