2017-01-10 4 views
0

Ich habe ein Problem mit Google Maps API, wenn ich die Marker-Position ständig ändern, hinterlässt dies eine Spur auf der Karte und ich muss den Marker bewegen, ohne eine Spur zu hinterlassen. Ich bekomme tatsächlich die Breite und die Länge von einer Datenbank in Firebase und muss die Route eines Autos darstellen.Wie kann ich die Markerposition in Google Maps API ändern?

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); 

}); 
+1

also müssen Sie den vorhandenen Marker verschieben, anstatt einen neuen zu erstellen? –

+0

Google Map Markers haben eine 'setPosition' Methode –

Antwort

0

Sie erstellen einen neuen Marker in jedem Ereignis. Erstellen Sie stattdessen den Marker vor dem Event-Handler (und rufen Sie dort setMap auf), und setzen Sie in Ihrem Handler einfach setPosition() auf das neue lat/lng der Daten.

Verwandte Themen