我有这个功能:
function setMarkers(map, markers) {
for (var i = 0; i < markers.length; i++) {
var stores = markers[i];
var siteLatLng = new google.maps.LatLng(stores[1], stores[2]);
var marker = new google.maps.Marker({
position: siteLatLng,
icon: image,
map: map,
title: stores[0],
html: stores[4]
});
google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
我需要html页面中的切换按钮来隐藏和显示地图中的标记,我是怎么做到的?
P.S我尝试setMap(null),但她不起作用。
答案 0 :(得分:1)
您需要保留对google.maps.Marker对象的引用。
var gmarkers = [];
function setMarkers(map, markers) {
for (var i = 0; i < markers.length; i++) {
var stores = markers[i];
var siteLatLng = new google.maps.LatLng(stores[1], stores[2]);
var marker = new google.maps.Marker({
position: siteLatLng,
icon: image,
map: map,
title: stores[0],
html: stores[4]
});
gmarkers.push(marker);
google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
然后隐藏第一个标记gmarkers[0].setMap(null)