2016-12-06 104 views
-2

我有一個分類網站。我需要允許用戶在谷歌地圖上標記他們的位置。我剛剛發現這個並且很好地工作。允許用戶在谷歌地圖上添加位置

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

問題是這樣允許添加任意數量的標記。但我只需要一個標記。任何解決方案

+2

當然,添加其他標記時,請刪除其他標記。簡單。 –

+0

調用事件只有一次看[這裏](https://stackoverflow.com/questions/3393686/only-fire-an-event-once),但我認爲凱文從用戶體驗的角度來看是正確的,你應該覆蓋它老標記 –

回答

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