Клуб API Карт

Как поменять порядок вывода меток на карту?

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

Здравствуйте. Сделал карту, на которой разместил множество меток через конструкцию вида myPlacemark_xx = new ymaps.Placemark(...) и myMap.geoObjects.add(myPlacemark_xx).


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

Поэтому, при близкм расположении метки частично перекрывают друг друга.


На этой же старнице у меня есть список объектов, каждый из которых обозначается меткой на карте. Я написал скрипт, который при клике на div объекта меняет изображение соответствующей метки на другое и перемещает карту к этому объекту.

Примерно так:


$(".filial").click(function () {
 //.......some actions
 myPlacemark_xx.options.set({
 iconImageHref: "/path/map_pointer_active.png" });
 //.......some actions
myMap.panTo(myPlacemark_xx.geometry.getCoordinates(), {
 delay: 0  });
 //.......
});

Все работает. Но есть одно но: иконка метки меняется, карта перемещается - но если иконка при этом была частично перекрыта другой иконкой, то она и остается перекрытой. Получается, не всегда видно на карте смену изображения иконки.

Есть ли какой-то параметр, аналогичный z-index у CSS, позволяющий менять порядок отображения элементов друг над другом?

И как его поменять? (Генерировать заново карту при кажом событии не хотелось бы..)


Спасибо.

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

Ура, нашел :)

 

myPlacemark[id].options.set({
                    iconImageHref: "/assets/CSS/img/map_pointer_act.png",
                    zIndex: currentZindex
                });

 

Но теперь надо его как-то "возвращать" обратно.

Так и не смог понять, а как его узнать? То есть как получить значение options.zIndex елемента?

Если есть options.set, наверное, должен быть options.get? Как думаете, логично? Может стоит в документации посмотреть?