У меня есть страница api google map, которая не возвращает правильные координаты из события мыши в firefox, когда div div карты не находится в верхнем левом углу (0,0) окна браузера , Если я поместил любое дополнение или марку css на div карты, происхождение mouseevent на картах google все равно начинается с левого верхнего угла окна браузера, а не с div div. Мышь работает правильно в IE & Chrome возвращает правильный lat/lng, но не Firefox. У кого-нибудь есть предложения по исправлению?google map mouseevent в firefox показывает неправильные координаты
Я создал очень простой пример в http://jsfiddle.net/fNPvf/15426/, который показывает координаты, когда мышь перемещается по карте. Вы можете видеть в левом верхнем углу изображения карты, координаты должны быть 0,0, но Firefox показывает 50,50. В инфоиндусте отображается правильный лат/lng центра карты, и вы можете увидеть разницу в координатах (сдвиг 50 пикселей вверху слева) при перемещении мыши к этой точке.
<html>
<head>
<meta charset="utf-8">
<style>
body {font:12px arial; margin:0px}
#map {
height:400px;
width:400px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<script>
var map;
coord = new google.maps.LatLng(38.939201, -94.747640)
function initialize() {
var mapOptions = {
zoom: 16,
center: coord
};
map = new google.maps.Map(document.getElementById('map'), mapOptions);
google.maps.event.trigger(map, 'resize');
var coordInfoWindow = new google.maps.InfoWindow();
coordInfoWindow.setContent('38.939201, -94.747640');
coordInfoWindow.setPosition(coord);
coordInfoWindow.open(map);
google.maps.event.addListener(map, "mousemove", function (event) {
document.getElementById("footer").innerHTML = "Mouse X Y:" + event.pixel.toString() + " - Lat Lng:" + event.latLng.toString() + "<br />"
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map" style="margin-left:50px;margin-top:50px;"></div>
<div id="footer" style="margin-left:50px; padding:10px;"></div>
</body>
</html>
Работает исправно для меня в FF (38.0.5) –
Удивительный, спасибо. Похоже на проблему с изменением версии с Firefox от v38 до 39. – user4974882
Эта ошибка была добавлена в Bugzilla несколько дней назад: https://bugzilla.mozilla.org/show_bug.cgi?id=1180744 – Marc