我有一张谷歌地图。我创建了一些标记,但我无法隐藏这些标记。我看了this document。我有一个功能,但它失败了。
function LoadMap () {
var markers = JSON.parse('<%=Stations() %>');
var mapOptions = {
center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var infoWindow = new google.maps.InfoWindow();
map2 = new google.maps.Map(document.getElementById("map_canvas2"), mapOptions2);
for (i = 0; i < markers.length; i++) {
var data = markers[i]
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map2,
title:"Hello",
});
(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
infoWindow.setContent(data.description);
infoWindow.open(map, marker);
icon: InitIcon
});
}(marker, data);
}
}
答案 0 :(得分:1)
您需要将setMap(null)
应用于您的标记数组。
如果您的markers
变量包含所有标记,则需要循环显示每个标记并使用
markers[i].setMap(null);
所示
顺便说一下,您的代码包含somme错误,例如在;
之后缺少var data = markers[i]