我有下面的代码。我想要做的是当我达到特定的缩放点(> 8),然后在地图上显示一些引脚。这工作正常。但是,正如你可以在下面看到的,我有一个和其他声明。在这个else语句中,我想在任何情况下移除引脚,缩放比例小于8.不幸的是,我找不到解决方案。谁能帮我?从谷歌地图删除别针
var map = $('#map_canvas').gmap('get', 'map');
var zoomLevel = 1;
//var marker;
$(map).addEventListener('zoom_changed', function() {
var i, prevZoomLevel;
prevZoomLevel = zoomLevel;
map.getZoom() < 15 ? zoomLevel = 1 : zoomLevel = 2;
if (prevZoomLevel === zoomLevel) {
if (map.getZoom() > 8) {
for (var i = 0; i < <?= $store_records ?>; i++) {
$('#map_canvas').gmap('addMarker', {
'position': new google.maps.LatLng(store_data.records[i].lat, store_data.records[i].lng),
'icon': imageStores,
'visible': true
}).click(function() {
$('#map_canvas').gmap('openInfoWindow', { 'content': store_data.records[i].name }, this);
});
//marker = new google.maps.Marker({
//'position': new google.maps.LatLng(store_data.records[i].lat, store_data.records[i].lng)
// });
}
}
else {
for (var i = 0; i < <?= $store_records ?>; i++) {
//marker.setVisible(false);
}
}
}
});
UPDATE:
的问题是我已经和除了这些其它引脚。所以,我想明确地删除上述的引脚。此外,当我到达的变焦> 8,然后,当我去放大< 8引脚仍然显示
prevZoomLevel = zoomLevel; map.getZoom()<15? zoomLevel = 1:zoomLevel = 2; 不应该是 prevZoomLevel = zoomLevel; zoomLevel = map.getZoom()<15? zoomLevel = 1:zoomLevel = 2; 此外,你试过 marker.setMap(null); 请解释更详细的情况。 – slawekwin
编辑:将它们存储在数组中或添加某种标志,指示其条件可见性 – slawekwin
@slawekwin您能否通过提供答案来帮助我? –