Клуб API Карт

не показыавть Placemark при маленьком масштабе

Пост в архиве.

мне нужно чтобы не показывали метки при масштабе республиканского уровня. Только при увеличении. как добиться? не смог

5 комментариев
Всеволод Шмыров
27 января 2016, 23:33
Добрый день. А как вы пытались сделать? Вам нужно всего лишь слушать событие "boundschange" и полю "newZoom" определять, что делать с меткой - добавить/удалить/ничего.
http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/Map.xml#event-boundschange

нет такой возможности? например, при создании Placemark-а, где указал бы zoom при которой будет отображаться метка. Или диапазон масштабов при которых будет видна эта метка. Например от 5 до 8. Мне допустим не нужно чтобы при масштабе 10 чтобы я видел эту метку, мне надо чтобы я видел в масштабах, от 5 до 8. 

 Я понял, вы хотите чтобы я написал в событие, если при изменении масштаба менять убирать такие то метки. такие то оставлять, но было бы удобно если было бы так:


    myPlacemark = new ymaps.Placemark([44.775163,74.243185], {

                id: 'id123123',

                hintContent: 'Объект 1',

                zoom: [5,8]

            });


Что то вроде этого

Всеволод Шмыров
27 января 2016, 23:33
Нет, так как это достаточно специфичный кейс.
А какую задачу вы решаете? Похожее поведение есть в технологии RemoteObjectManager - это специальная сущность, которая была создана для обработки огромного кол-ва меток. В ней создается значительно меньше программных инстанций, происходит подгрузка данных при сдвиге карты. При смене зума происходит обнуление карты и перезапрос данных. Это не ваш кейс?
http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/RemoteObjectManager.xml

У нас был такой пример для 2.0.

http://ymapsapi.ya.ru/replies.xml?item_no=1211

Smolensk.1812-2012
27 января 2016, 23:33

v.shmyroff, спасибо большое за подсказку! 

Решал подобную задачу в версии 2.1

Сочинил такой работающий код для масштаба больше или равного 16: 

 фото скрипта