2017-12-23 3 views
-1

Ich habe im Grunde eine Ionic App, die einen Benutzerklick auf die Karte nimmt und es an den Benutzer zurückgibt, kein Problem dort. Mein Problem ist, wenn der Benutzer mehrmals auf die Karte klickt, habe ich die Markierungen hinzugefügt, um den Benutzer über den Ort zu informieren, den er ausgewählt hat, und ich möchte, dass jedes Mal, wenn er auf die Karte klickt, die Anzahl der Markierungen erhalten bleibt.Gibt es eine Möglichkeit, Google Maps-Markierungen im Internet zu beschränken?

Antwort

2

vielleicht erstellen Sie einen neuen Marker und verwenden marker.setMap(map); Dies erstellt einen neuen Marker und fügt ihn zur aktuellen Map hinzu.

Sie keine neuen Marker definieren und nur stattdessen setPosition die Position des aktuellen Markers ändern:

marker.setPosition(position); 

wo Position ist die Anordnung von {lat, lng} von Klickposition; Vergessen Sie nicht, den Marker als globale Variable zu definieren. Sie können ihn sowohl zum Erstellen einer Karte als auch zum Aktualisieren der Position verwenden.

var marker; 
function initMap() { 
     //Here you initialize the map and marker then 
     marker.setMap(map); 
     } 
function updateMarkerPosition(lat,lng){ 
    marker.setPosition({lat:" + lat +",lng:"+ lng+ "}); 
} 
+0

Es hat funktioniert! 'export classname { marker: any; } ionViewDidLoad() { this.initMap(); } initMap() { this.marker = neuer google.maps.Marker ({map: map}); } google.maps.event.addListener (Karte, 'Klick', event => { this.updateMarkerPosition (event.latLng(), event.latLng.lng());} } updateMarker Position (lat, lng) { this.marker.setPosition ({ lat: lat, lng: lng }) } ' –

Verwandte Themen