Клуб API Карт

Изменение вида метки в дефолтное состояние

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

Всем привет есть вопрос:

Есть код:

/* НОВЫЕ ПРЕСЕТЫ YMAPS ОФИС СКЛАД ДОМ КВАРТИРА */

if(typeof ymaps !=="undefined"){

ymaps.ready(ymapsPrst); /* END ymaps.ready */

function ymapsPrst(){

ymaps.option.presetStorage.add('dom#icon', 

{iconImageClipRect: [[150, 0], [190, 45]], iconImageHref:'/img/globs.png', iconImageSize: [40, 45], iconImageOffset: [-20, -41], iconLayout: 'default#image'});

ymaps.option.presetStorage.add('room#icon', 

{iconImageClipRect: [[195, 0], [235, 45]], iconImageHref:'/img/globs.png', iconImageSize: [40, 45], iconImageOffset: [-20, -41], iconLayout: 'default#image'});

ymaps.option.presetStorage.add('office#icon', 

{iconImageClipRect: [[240, 0], [280, 45]], iconImageHref:'/img/globs.png', iconImageSize: [40, 45], iconImageOffset: [-20, -41], iconLayout: 'default#image'});

ymaps.option.presetStorage.add('sklad#icon', 

{iconImageClipRect: [[285, 0], [325, 45]], iconImageHref:'/img/globs.png', iconImageSize: [40, 45], iconImageOffset: [-20, -41], iconLayout: 'default#image'});

}

 

}

Все отображается нормально но есть нюанс при повтороном открытии и закрытии балуна метка меняет вид в дефолтное состояние.

http://teremok.hol.es/office включить вывод информации на карту

5 комментариев

Большое спасибо за сообщение, починим в будущем релизе.

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

А то приходится "костыли" вставлять. :)

Вы имеете в виду, что при закрытии балуна курсор не понимает, что он над меткой?

Нет (хотя может вы именно это имеете в виду, просто я как-то не так читаю). Я имею в виду, что если при наведении на маркер мы меняем его вид (например, цвет на красный), то после того, как мы откроем балун, уведём указатель мыши за пределы маркера на крестик закрытия балуна (при этом событие mouseleave не сработает), закроем балун, то маркер останется красным, несмотря на то, что указатель уже не над ним. (До тех пор, пока не ввести-вывести указатель)

Пример можно глянуть в уже знакомом вам месте:

 https://gist.github.com/Kamapcuc/8402676 





Это правильная логика и она такая же в браузерах. Суть в том что по факту мышь не покидала объект, а объект был удален из под мыши - это разные события.

Для это кейса у геообъекта есть поле hover в .state. Можно подписаться на его изменение через Monitor и тогда все будет работать так, как вам нужно.