以下のコードがあります。私がやろうとしているのは、特定のズーム ポイント (>8) に達したときに、マップ上にいくつかのピンを表示することです。これはうまくいっています。ただし、以下に示すように、else ステートメントがあります。この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);
}
}
}
});
アップデート:
問題は、私が持っているピンと、これら以外のピンです。したがって、前述のピンを明示的に削除したいと思います。さらに、ズーム> 8に到達すると、ズーム< 8に移動すると、ピンがまだ表示されます