yandex-maps: ballonopen
Всем привет. При нажатии на обьект на карте (школа, больница) открывается балун и выбрасывается событие ballonopen. Как из этого события получить координаты обьекта?
Ответы (1 шт):
Автор решения: YaCor'
→ Ссылка
Координаты балуна возвращаются через getPosition(). Но простой балун получает классические координаты. А балун, открытый на POI возвращает глобальные координаты, которые нужно преобразовывать через fromGlobalPixels.
Сами метки POI видны на достаточно крупных масштабах, потому можно использовать код примерно такого вида:
myMap.events.add('balloonopen', function (e) {
var balloonPosition = myMap.balloon.getPosition()
if (balloonPosition[1]>180) {
var POIcoords = myMap.options.get('projection').fromGlobalPixels(balloonPosition, myMap.getZoom());
console.log(POIcoords) //координаты балуна на POI
} else {
console.log(balloonPosition) //координаты обычного балуна
}
});