Я пытаюсь настроить OpenLayers, чтобы он не отображал векторный слой непосредственно перед началом масштабирования и заставлял его снова появляться после окончания масштабирования. У меня есть часть конца масштабирования, уже установленная следующим образом:
map = new OpenLayers.Map('map_element', { eventListeners: { "zoomend": mapEvent}});
function mapEvent(event) {
if(event.type == "zoomend") {
hide_vector_layer();
}
}
Но я не вижу в документации никакого прослушивателя событий для начала масштабирования. Существует «movestart», который охватывает перемещение, панорамирование и масштабирование. К сожалению, я не могу использовать "movestart", потому что я не хочу, чтобы слой исчез во время панорамирования. Вы могли бы подумать, что будет «zoomstart», так как есть «zoomend».
Причина, по которой я пытаюсь это сделать, заключается в том, что мне не нравится, как векторный слой масштабируется с разной скоростью при использовании Google Maps в качестве базового слоя. Это выглядит неправильно, похоже, что все функции неточны, даже если они оказываются в нужном месте после завершения масштабирования.
Какие-либо предложения?