Javascript 删除传单地图上的所有标记
我正在尝试使用firebase构建一个跟踪驱动程序应用程序 我已经正确地检索了所有驾驶员数据,我在每个人身上做了一个标记,但我必须知道如果其中一个驾驶员改变位置进行更新,我如何删除该标记 我的Js代码:Javascript 删除传单地图上的所有标记,javascript,firebase,firebase-realtime-database,leaflet,Javascript,Firebase,Firebase Realtime Database,Leaflet,我正在尝试使用firebase构建一个跟踪驱动程序应用程序 我已经正确地检索了所有驾驶员数据,我在每个人身上做了一个标记,但我必须知道如果其中一个驾驶员改变位置进行更新,我如何删除该标记 我的Js代码: var n=0; var leadsRef = database.ref('Tracking'); leadsRef.on('value', function(snapshot) { snapshot.forEach(function(childSnapshot) { va
var n=0;
var leadsRef = database.ref('Tracking');
leadsRef.on('value', function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var childData = childSnapshot.val();
console.log(" tracking The updated Chauffeur nb " +n +" " + childData.email);
console.log(" tracking The updated Chauffeur nb " +n+ " "+ childData.latitude);
console.log(" tracking The updated Chauffeur nb " +n+ " "+ childData.longitude);
L.marker([parseFloat(childData.latitude), parseFloat(childData.longitude)], {icon: greenIcon}).addTo(mymap).bindPopup("I am nb "+childData.email+" hi");
n++;
});
});
您可以使用事件来检测跟踪
节点的子节点何时被删除
我不知道传单,因此我不知道如何在您的情况下移除标记,但我想有一种特定的方法,因此,您可以按照以下思路进行操作:
ref.on('child_removed', function(oldChildSnapshot) {
var oldChildData = oldChildSnapshot.val();
L.removeMarker(...) //Just inventing a method name here!
});
获取
键
,然后使用remove()
删除:
snapshot.forEach(function(childSnapshot) {
var childData = childSnapshot.val();
var key = childSnapshot.key;
database.ref('Tracking').child(key).remove();
});
我不需要删除firebase节点或子节点,但我需要当firebase实时数据库中的节点或值更改或删除时,我需要初始化我的地图(删除所有标记)以更新标记位置(添加新标记),然后检查重复项,但我没有看到任何关于如何使用firebase删除标记的帖子:|