У меня есть некоторые элементы пользовательского интерфейса справа от моей карты (иногда), и я хотел бы компенсировать мои вызовы panTo() (иногда).
Итак, я подумал:
- получить исходный latlng
- преобразуйте его в пиксели экрана.
- добавить смещение
- преобразуйте его обратно в latlng.
Но я должен неправильно понять, что API Карт Google называет "Point Plane": http://code.google.com/apis/maps/documentation/javascript/reference.html#Projection
Вот мой код, который, кажется, компенсируется lat-long:
function getCentreOffset( alatlng ) {
var PIXEL_OFFSET= 100;
var aPoint = me.gmap.getProjection().fromLatLngToPoint(alatlng);
aPoint.x=aPoint.x + OFFSET;
return me.gmap.getProjection().fromPointToLatLng(aPoint);
}