У меня проблемы со всем, что связано с мышью для карты Openlayers, когда карта находится внутри DIV с фиксированной позицией.Карта отлично работает, когда вы находитесь в верхней части окна просмотра браузера, но когда вы прокручиваете страницу вниз, вы можете видеть, что эффекты масштабирования / щелчка смещены.Вы можете проверить здесь http://41.32.148.178:82/#!search=KFC%2F0%2F0%2F0%2F%2F, чтобы точно понять, что я имею в виду.
Этот парень, похоже, сталкивается с той же проблемой, но не получил ответов http://lists.osgeo.org/pipermail/openlayers-users/2010-July/018769.html
Я думаю, вам нужно отрегулировать положение карты на основе значений вертикальной и горизонтальной полосы прокрутки.
Для Firefox, Chrome, Safari, Opera используйте этот код для получения значений полосы прокрутки
window.pageXOffset window.pageYOffset
, в то время как для использования этого
document.body.scrollLeft document.body.scrollTop
см. Примеры здесь
http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
http://www.w3schools.com/jsref/prop_win_pagexoffset.asp
Это была ошибка в версии OpenLayers, которую я использовал (2.1), я обновил до последней версии (2.11) и теперь все работает нормально, спасибо.