2016-12-06 3 views
-2

Ich habe eine klassifizierte Web site. Ich muss Benutzern erlauben, ihren Standort auf Google Karte zu markieren. Ich habe das gerade gefunden und funktioniert gut.Erlauben Sie Benutzern, Standort auf Google Karte hinzuzufügen

function initMap() { 
    var map = new google.maps.Map(document.getElementById('map'), { 
    zoom: 4, 
    center: {lat: -25.363882, lng: 131.044922 } 
    }); 

    map.addListener('click', function(e) { 
    placeMarkerAndPanTo(e.latLng, map); 
    }); 
} 

function placeMarkerAndPanTo(latLng, map) { 
    var marker = new google.maps.Marker({ 
    position: latLng, 
    map: map 
    }); 
    map.panTo(latLng); 
} 

Fiddle

Das Problem ist, diese eine beliebige Anzahl von Markierungen hinzufügen können. Aber ich brauche nur einen Marker. Irgendeine Lösungsmöglichkeit?

+2

Sicher, wenn Sie einen anderen Marker hinzufügen, entfernen Sie die anderen. einfach. –

+0

für den Aufruf eines Ereignisses nur einmal schauen [hier] (https://StackOverflow.com/questions/3393686/only-Fire-an-Event-Once), aber ich denke, Kevin hat recht von einem Benutzer Erfahrung Perspektive sollten Sie es überschreiben haben der alte Marker –

Antwort

0
This is an exemple of function : 

function placeMarker(location) { 
    if (marker) { 
     //if marker already was created change positon 
     marker.setPosition(location); 
    } else { 
     //create a marker 
     marker = new google.maps.Marker({   
      position: location, 
      map: map, 
      draggable: true 
     }); 
    } 
} 

call : 

    google.maps.event.addListener(map, 'click', function (evt) { 
     placeMarker(evt.latLng); 
    }); 
Verwandte Themen