我正在使用以下代码,并尝试找出如何添加一个可调用的函数,以在添加新标记之前删除先前的标记。地图使用onclick事件在用户点击处添加标记... 基本上我只想在任何给定时间地图上有一个标记。
我已经搜索并尝试了几乎所有方法,但可能是某些地方做错了... 请快速浏览一下代码,并让我知道该如何实现。
非常感谢!
地图在body中如下所示。
我已经搜索并尝试了几乎所有方法,但可能是某些地方做错了... 请快速浏览一下代码,并让我知道该如何实现。
非常感谢!
<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>
地图在body中如下所示。
<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;
}
}