使用以下代碼並試圖弄清楚如何添加一個函數,我可以調用這個函數將刪除前一個標記,然後再添加一個新標記。該地圖使用onclick事件添加標記,用戶點擊...基本上我只想在任何給定的時間在地圖上的一個標記。谷歌地圖api v3 - 在點擊事件之前添加新標記之前刪除標記
我已經搜索並嘗試了幾乎所有的東西,但必須以某種方式做錯了...請快速瀏覽代碼並讓我知道它將如何實現。
非常感謝!
<script>
function initialize() {
var mapOptions = {
zoom: 11,
center: new google.maps.LatLng(document.getElementById('field_lat').value,document.getElementById('field_lng').value),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
google.maps.event.addListener(map, 'click', function(e) {
// SET MY UI SEARCH TEXT FIELDS TO THE LAT AND LNG
document.getElementById('field_lat').value = e.latLng.lat();
document.getElementById('field_lng').value = e.latLng.lng();
placeMarker(e.latLng, map);
});
}
function placeMarker(position, map) {
//Marker.setMap(null);
var Marker = new google.maps.Marker({
position: position,
map: map
});
map.panTo(position);
$("#listbox ul").empty();
docall();
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
地圖是人體如下
<div id="map_canvas" style="width: 400px; height: 400px;"></div>
我試圖嘗試讓這種或類似工作的東西,但沒有骰子...
// Deletes all markers in the array by removing references to them
function deleteOverlays() {
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
}
你爲什麼不把現有的標記移動到新的位置?無需刪除和重新創建。 – Marcelo
[Google Maps API v3:如何刪除所有標記?]的可能重複(http://stackoverflow.com/questions/1544739/google-maps-api-v3-how-to-remove-all-markers) – Touchpad