Я хочу поместить подсказку, сделал меня с отделениями, когда мышь по маркеру, но я не знаю, как заставить экранное положение помещать отделение на правильное положение, вот мой код:
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");
});
Очевидно, получить сбои метода. Какая-либо Идея?
Это непростой вопрос. В версии 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 по пользовательским оверлеям или скопировать их пример , чтобы вы начали.