当调用外部 javascript 函数 hidetype() 时,我试图隐藏选定的谷歌地图标记类别。无济于事。
我从以下网址获取了一般概念:http ://www.geocodezip.com/v3_MW_example_categories.html
下面是从 mysql 派生的 XML 中提取我的标记信息的代码。我有按类型分组的标记。
downloadUrl("phpsqlajax_genxml2_snow.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 = "Some infoBubble HTML";
var Gtip = "<b>" + name + "</b>";
var icon = customIcons[type] || {};
var hover = icon.hover;
var hoverout = icon.icon;
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow,
});
marker.mytype = type;
bindInfoWindow(marker, map, infoWindow, html, Gtip, hover, hoverout);
}
});
}
function hidetype(category) {
alert(category);
for (var i=0; i<markers.length; i++) {
if (markers[i].mytype == category) {
markers[i].setVisible(false);
}
}
}
我如何从外部尝试删除标记的一个示例是:
<img onclick="hidetype('1')" src=...>
这当前会使用传递的类型变量发出警报,但不会删除标记。提前致谢!