конвертируем координаты центра карты в google maps в pixel координаты div бокса.

var scale = Math.pow(2, map.getZoom());
var nw = new google.maps.LatLng(
     map.getBounds().getNorthEast().lat(),
     map.getBounds().getSouthWest().lng()
);
var worldCoordinateNW = map.getProjection().fromLatLngToPoint(nw);
var worldCoordinate = map.getProjection().fromLatLngToPoint(map.getCenter());
var pixelOffset = new google.maps.Point(
     Math.floor((worldCoordinate.x - worldCoordinateNW.x) * scale),
     Math.floor((worldCoordinate.y - worldCoordinateNW.y) * scale)
);

нужно в гугл картах при работе с пиксельными координатами

Чтобы просто узнать пиксельные координаты центра карты, можно просто  worldCoordinate умножить покомпонентно на   scale 

А можно и так, даже проще 

var overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
alert(JSON.stringify(overlay.getProjection().fromLatLngToContainerPixel(map.getCenter())))

Выведет относительные координаты центра карты внутри контейнера

 

Рассказать друзьям

Добавить комментарий


Защитный код
Обновить