Javascript 如何最终在google maps api中更改标记位置?

Javascript 如何最终在google maps api中更改标记位置?,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我有一个谷歌地图api的问题,当我不断地改变标记的位置,这会在地图上留下痕迹,我需要移动标记而不留下痕迹。 实际上,我从firebase的数据库中获取纬度和经度,需要表示汽车的路线 var mapOptions = { center: new google.maps.LatLng(20.615977, -103.339358), zoom: 12 }; var map = new google.maps.Map(document.getElementById("map"), mapO

我有一个谷歌地图api的问题,当我不断地改变标记的位置,这会在地图上留下痕迹,我需要移动标记而不留下痕迹。 实际上,我从firebase的数据库中获取纬度和经度,需要表示汽车的路线

var mapOptions = {

 center: new google.maps.LatLng(20.615977, -103.339358), 
 zoom: 12

};

var map = new google.maps.Map(document.getElementById("map"), mapOptions);    

firebase.database().ref('route').on('value', function(data) {

var start = new google.maps.Marker({
    position: {lat: latitud, lng: longitud}, 
    map: map,
    icon: '../icon/car.png'
});

var myLatlng = new google.maps.LatLng(data.val().latitude, data.val().longitude);

start.setPosition(myLatlng);
start.setMap(map);   

});

你在每个事件中都创建了一个新的标记。相反,在事件处理程序之前创建标记(并在那里调用setMap),在处理程序中,只需对数据的新lat/lng执行setPosition()。

因此您需要移动现有标记,而不是创建新标记?google map markers有一个
setPosition
方法