Клуб API Карт

Масштабирование: показ определенных меток только на заданном масштабе. как?

Пост в архиве.
Dzedx
15 марта 2012, 18:16

Доброго дня!

При появлении на создаваемой мною карте большого кол-ва меток возникла необходимость в масштабировании, то есть показе на мелком масштабе только самых важных меток, а начиная с определенного крупного - всех остальных.

Пробовал реализовать через менеджер объектов, но видимо что-то недопонял.

Вот код моей метки:

 

// Создание метки Сочи Россия

            var placemark = new YMaps.Placemark(new YMaps.GeoPoint(39.722271,43.582795), {style: "default#shopIcon"}

            // Установка содержимого значка метки

            placemark.setBalloonContent('<div style=text-align:left>Цены в г. Сочи, Россия:</a><br><br><table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td><strong>Средняя зарплата</strong></td><td><strong>840 USD</strong></td></tr><tr><td>Кока-кола 1 л</td><td>1,46 USD</td></tr><tr><td>Питьевая вода 1 л</td><td>1,02 USD</td></tr><tr><td>Молоко 1л</td><td>1,12 USD</td></tr><tr><td>Мясо (свинина) 1кг</td><td>10,19 USD</td></tr><tr><td>Рис 1 кг</td><td>1,38 USD</td></tr><tr><td>Гамбургер в МакДональдс</td><td>1,19 USD</td></tr><tr><td>АИ-95 бензин 1 л</td><td>1,02 USD</td></tr><tr><td>Сигареты 1 пачка</td><td>0,95 USD</td></tr></tbody></table></div>');

            // Добавление метки на карту

            map.addOverlay(placemark);

 

А вот как я пытался показывать ее только на масштабах 5 - 12

 

  // Менеджер объектов

  var objManager = new YMaps.ObjectManager(

  map.addOverlay(objManager);

  objManager.add(new YMaps.Placemark(new YMaps.GeoPoint(25.282664,54.692237)), 5, 12); 

 

В итоге к моей метке на масштабах 5-12 добавлась еще одна стандартная, а моя отображалась на всех.

Подскажите, как решить проблему, спасибо!

4 комментария

ну все правильно. Только objectManager рулит отображением метки.

А обычная метка, буду добавлена именно на карту подконтрольна этой карте.

А карта ничего со своими метками не делает. Отображает всегда.

 

Возможно вы хотели сделать objManager.add(placemark) ?

Плохо вас понял.

Мне следует перенести все обычные метки в objectManager?

Я хотел сделать отображение метки на определенном масштабе.

Все метки которые вы хотите показывать на специальных масштабах - перенесите в ObjectManager

Сегодня только читал одну статью, может это как то что Вам нужно http://webmap-blog.ru/yandex-maps/klasterizaciya-metok-na-yandeks-kartax-–-dva-resheniya