javascript - 将标记从数据库 firebase 实时移动到 mapbox
问题描述
我想移动基于实时数据库 firebase 的标记,例如跟踪用户。当数据库更新位置时,mapbox 会更新位置标记。我的网站有问题,当 javascript 从数据库中获取位置时,标记会更新,但标记会重复,不会删除以前的数据。所以请帮我删除以前的数据并只显示更新标记。 下面给出 代码 代码的结果
解决方案
您每次都在创建一个新的标记。相反,您可以将每个 TeamLeader 名称和相应的标记存储在 json 对象中,然后更新它们的坐标。您需要创建一个 json 对象(teamLeaderMarkers
在示例中调用),并且还存储团队负责人姓名(teamLeaderName
在示例中。
然后在 setInterval 的回调函数中,您将拥有如下内容:
if (teamLeaderMarkers.hasOwnProperty(teamLeaderName)){
teamLeaderMarkers[teamLeaderName].setLngLat([long,lat]);
} else{
let marker = new mapboxgl.Marker(el);
marker.setLngLat([long,lat])
marker.addTo(map);
teamLeaderMarkers[teamLeaderName] = marker;
}
推荐阅读
- ruby-on-rails - 无法使用 OCRA for Ruby 版本 2.7.2 创建 exe
- google-chrome - Chrome 浏览器控制台中的 ExpiredKeyMapError
- r - 如何使用 R 中的“rusquant”包从investing.com 中抓取信息
- wordpress - 事务性 smtp 电子邮件服务发件人
- java - bufferedwriter writer = new bufferedwriter(new filewriter(resource.getfile())); 不工作
- python - 如果用户名已存在于 txt 文件(登录系统)中,如何通过输入检查 Python?
- reactjs - 如何使用 RNFS 库在本机反应中获取图像?
- c# - C# WPF 重音字符显示为问号
- git - git 跟踪计算机上的所有文件
- python - 带有嵌套输入到字典数组的烧瓶动态形式