google maps api v3: положение маркера в верхнем и левом пикселях - PullRequest
4 голосов
/ 22 ноября 2011

Я хочу получить верхнюю и левую позиции маркера (в пикселях) на карте Google API v3. Как это может быть сделано? Я знаю, что есть некоторые советы по использованию fromLatLngToDivPixel(), но могу ли я узнать, как это работает? Пример

Ответы [ 2 ]

5 голосов
/ 23 ноября 2011

Вы имеете в виду координаты в пикселях внутри div? Посмотрите на http://qfox.nl/notes/116

overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
var point = overlay.getProjection().fromLatLngToContainerPixel(latLng); 

или

var point = overlay.getProjection().fromLatLngToDivPixel(latLng);

Действительно, безобразно. Гораздо проще в v2, где эти методы были напрямую методами GMap2 объекта. Еще один недостаток google api v3!

1 голос
/ 02 июля 2015

Если у вас возникла проблема с наложением undefined, это потому, что объект создается после карты idle.

Лучше позвоните в обработчик событий, полное объяснение здесь https://stackoverflow.com/a/6657723/4026345

...