Клуб API Карт

Работа с метками

signsign.info
2 июня 2014, 18:27

Когда на карте находится несколько меток в разных ее частях, то при клике на отдаленных метках какрта автоматически перемещается и метка по которой был клик оказывается в центре.

Если на метку навешивать события дабл клика или контекст меню то во время выполнения обрабатываетяс клик по метки и просходит смещение карты. 

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

 

соотвестенно два вопроса

1. как отключить перемещение карты во время клика что бы его не было

2. как не отключать перемещение карты, но вывести необходимую информацию уже после того как метка переместится в центр

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

1. Наверное метка смещается, т.к открывается ее балун. Соответственно либо при клике не открывать балун, либо отключить ему autoPan

2. Непонятно что именно нужно вывести и почему не получается

Чтобы вам более детально понимать о чем идет речь приведу пример взятый из песочницы

http://api.yandex.ru/maps/jsbox/2.1/placemark

 

при клике по метке она перемещается в центр карты при этом открытие балунов не происходит.

 

еще раз повторю вопросы

1. как сделать так что бы этого смещения не происходило

2. по поводу второго сначала лирическое отступление. представте что вы хотите вывести меню при клике на метку. получаете ее геграфические координаты транслируете их в пиксельные тем самым узнаете точку отсчета и выводите по ней меню рядом с меткой.

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

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

 

при клике по метке она перемещается в центр карты при этом открытие балунов не происходит.

1. Происходит. В 2.1 при маленьком окне карты балун открывается полоской снизу. Поэтому вы возможно его просто не заметили.

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

 

        ...        .add(new ymaps.Placemark([55.790139, 37.814052], {            balloonContent: 'цвет твиттера'        }, {            preset: 'islands#circleDotIcon',            iconColor: '#1faee9'        })).options.set('hasBalloon', false);

 

 

Мне сложно понять что там за транслирование координат, я когда-то делал пример контекстного меню и вроде бы ничего там не транслировал

 

спасибо. посмотрев ваш пример и переписав его под 2.1. все получилось.