Скрытие и отображение меток на разных зумах
На яндекс карте загружены метки, полигоны. Если полигоны изменяются при зумировании, то метки отображаются при любом зуме. Требуется чтобы при определенном зуме метки с карты скрывались, и не мешали видеть полигоны и карту.
Одно из найденых и опробованных решений вопроса. Кластеризуем метки, загруженные в ObjectManager из файла json. В качестве иконки кластеризатора подсовываем пустой рисунок в формате .png. Вот пример кода:
ymaps.ready(init);
function init() {
var map = new ymaps.Map('map', {
center: [48.5, 132.67],
zoom: 8,
controls: ['smallMapDefaultSet']
});
var razObject = new ymaps.ObjectManager({
clusterize: true,
gridSize: 64,
maxZoom: 12
});
var clusterer = new ymaps.Clusterer({
clusterIcons: [{
href: 'Razrez/claster.png',
size: [1, 1],
offset: [0, 0]
}]
});
razObject.objects.options.set('preset', 'islands#redIcon');
razObject.clusters.options.set('clusterIconLayout', 'clusterer');
map.geoObjects.add(razObject);
$.ajax({
url: "data_raz.json"
}).done(function(data1) {
razObject.add(data1);
});
};
Хотелось бы иметь другое решение по скрытию меток в зависимости от зума, так как это не всегда корректно работает (если метки расположены достаточно далеко друг от друга, то они не кластеризуются и соответственно не скрываются).