2016-12-06 12 views
-2

私は機密扱いのウェブサイトを持っています。私はユーザーがGoogleマップ上で自分の位置をマークできるようにする必要があります。私はこれを見つけ、うまく働いています。ユーザーがGoogleマップの場所を追加できるようにする

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); 
    }); 
関連する問題