Google отображает v3 подсказку наведения мыши маркера

Я хочу поместить подсказку, сделал меня с отделениями, когда мышь по маркеру, но я не знаю, как заставить экранное положение помещать отделение на правильное положение, вот мой код:

google.maps.event.addListener(marker, "mouseover", function() {
            divover.css("left", marker.get("left"));
            divover.css("top", marker.get("top"));
            divover.css("display", "block");
});

google.maps.event.addListener(marker, "mouseout", function() {
            divover.css("display", "none");
});

Очевидно, получить сбои метода. Какая-либо Идея?

18
задан skaffman 19 April 2010 в 18:16
поделиться

1 ответ

Это непростой вопрос. В версии 2 API вы можете:

map.fromLatLngToContainerPixel(marker.getLatLng(), zoomLevel);

В версии 3 метод fromLatLngToContainerPixel был перемещен в объект MapCanvasProjection. Чтобы получить объект MapCanvasProjection, вам необходимо вызвать getProjection для объекта OverlayView. Похоже, что класс Marker является расширением OverlayView, но, к сожалению, у него нет метода getProjection. Понятия не имею, почему - возможно, стоит зарегистрировать ошибку.

Я сделал это, создав свой собственный класс маркеров, основанный на OverlayView, так что он все еще имеет метод getProjection:

var point = this.getProjection().fromLatLngToDivPixel(this.latlng_);

Вы можете прочитать руководство Google по пользовательским оверлеям или скопировать их пример , чтобы вы начали.

16
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: