Клуб API Карт

globalPixels в градусы и обратно

vershh23
20 марта 2013, 17:40

мне нужно при клике на метке центрировать карту по ней, но смещать ось X на 30 пикселей.

 

получаю координаты метки при открытии балуна так 

var _self = this;
this.mapObject.events.add("balloonopen", function(e){
var baloon = e.get('balloon').getData();
var bounds = baloon.geoObject.geometry.getBounds();
var fixedCoord = [bounds[0][0] + 0.003, bounds[0][1]]
console.log(fixedCoord);
_self.mapObject.panTo(fixedCoord, {delay: 300});
});

 

можно получить из геометрии геобъекта Значения в пикселях, но как их потом преобразовать в градусы?

2 комментария
Подписаться на комментарии к посту
map.options.get('projection').toGlobalPixels(geoPoint, map.getZoom())
map.options.get('projection').fromGlobalPixels(geoPoint, map.getZoom())
Преобразует координаты в пиксели и обратно.

спасибо! 

вот решение полностью

 

    myMap.events.add("balloonopen", function(e){ 

        var baloon = e.get('balloon');

        var baloonPos = baloon.getPosition();

        var coord = myMap.options.get('projection').fromGlobalPixels([baloonPos[0], baloonPos[1]], myMap.getZoom());

        var coordAfter = myMap.options.get('projection').fromGlobalPixels([baloonPos[0] - 30, baloonPos[1]], myMap.getZoom());

        console.log('Первая позиция: ' + baloon.getPosition());

        console.log('Координаты до: ' + coord);

        console.log('Координаты после: ' + coordAfter);

       

    }

                    );