【发布时间】:2013-05-02 10:07:17
【问题描述】:
我想根据用户点击位置类型查看和删除地图上的标记..
我正在使用此代码删除标记p>
1- 将markersArray定义为全局数组
var markersArray =new Array();
2- 定义 clearOverlays 函数
function clearOverlays() {
if ( markersArray && markersArray.length) {
google.maps.Map.prototype.clearOverlays = function() {
for (var i = 0; i < markersArray.length; i++ ) {
markersArray[i].setMap(null);
}
}
markersArray = [];
markersArray = new Array();
markersArray.length = 0;
}
}
3- 我想删除标记时调用该函数
问题是:地图上没有任何东西被删除!
我想知道为什么!
编辑:在这里我添加标记并将它们推入markersArray
downloadUrl("getPlacesForType/"+markerType+"/"+lang, function(data) {
var xml = data.responseXML;
var myMarkersArray = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < myMarkersArray.length; i++) {
var name = myMarkersArray[i].getAttribute("name");
var version = myMarkersArray[i].getAttribute("version");
var description = myMarkersArray[i].getAttribute("description");
var type = myMarkersArray[i].getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(myMarkersArray[i].getAttribute("lat")),
parseFloat(myMarkersArray[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + description;
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point ,
icon: icon.icon,
shadow: icon.shadow
});
markersArray.push(marker);
bindInfoWindow(marker, map, infoWindow, html);
}
});
【问题讨论】:
-
什么时候添加到markersArray中?
-
@duncan,我添加了如何将标记添加到标记数组中的部分,我在单击锚点时添加它们并具有 showMarkers 类。当类没有退出时,我调用 removeOverlay fnction
-
听起来像"categories" map
标签: google-maps-api-3 overlay google-maps-markers