谷歌地图api清除标记[重复]
Posted
技术标签:
【中文标题】谷歌地图api清除标记[重复]【英文标题】:Google maps api clearing markers [duplicate] 【发布时间】:2012-12-10 19:14:47 【问题描述】:您好,我在删除地图上的标记时遇到问题。我做了一个事件,如果我的下拉菜单会改变标记将被删除。到目前为止它不起作用。会感谢任何人我做错了什么。这是我的代码。删除覆盖的函数是filtermark()
。对不起,我是 javascript 的菜鸟。
function load()
var map = new google.maps.Map(document.getElementById("map"),
center: new google.maps.LatLng(10.4167, 123.0000),
zoom: 8,
mapTypeId: 'roadmap'
);
var infoWindow = new google.maps.InfoWindow;
downloadUrl("xmlspitter.php", function(data)
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++)
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + address;
var icon = customIcons[type] || ;
var marker = new google.maps.Marker(
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
);
bindInfoWindow(marker, map, infoWindow, html);
);
function bindInfoWindow(marker, map, infoWindow, html)
google.maps.event.addListener(marker, 'click', function()
infoWindow.setContent(html);
infoWindow.open(map, marker);
);
function downloadUrl(url, callback)
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function()
if (request.readyState == 4)
request.onreadystatechange = doNothing;
callback(request, request.status);
;
request.open('GET', url, true);
request.send(null);
function doNothing()
//]]>
function filtermark()
google.maps.Map.prototype.clearMarkers = function()
for(var i=0; i < this.markers.length; i++)
this.markers[i].setMap(null);
this.markers = new Array();
;
【问题讨论】:
【参考方案1】:解决了这个问题,我没有声明 var maps
和 var markers
还使用 markersArray.push(marker);
将所有标记推送到数组中。
【讨论】:
以上是关于谷歌地图api清除标记[重复]的主要内容,如果未能解决你的问题,请参考以下文章