Клуб API Карт

Координаты метки на экране

igor-alexandrov
25 августа 2013, 14:10

Задача — получить текущие координаты на экране выбранной метки, или ее смещение от верхнего левого края области карты. В пикселях. То есть речь совсем не про географические координаты.


Делать это хочу в обработчике события mouseenter. Но интересуют именно не координаты курсора мышки, а координаты например верхней левой точки Placemark-а, куда наведена мышь.

Спасибо!

5 комментариев
Подписаться на комментарии к посту

myPlacemark.events.add('mouseenter', function (e) {

    console.log(e.get('position'));

});

Таким образом можно получить координаты точки через которую указатель мыши зашел на Placemark, но не координаты Placemark-а. Мне этот вариант не подхожит, потому что в зависимости от того, с какой стороны (например) пользователь наводит на Placemark эти координаты будут разными.

Тогда так:

1. Берете геокоординаты метки

2. Получаете из них глобальные пиксельные координаты через метод проекции

3. Преобразуете их в локальные координаты через Map.converter

Круто, спасибо.

Сделал вот так:

 

global = target.options.get('projection').toGlobalPixels(target.geometry.getBounds()[0], self.map.getZoom())

[left, top] = @map.converter.globalToPage(global)

target.geometry.getBounds()[0] 

замени на

target.geometry.getCoordinates()