2014-10-14 2 views
1

Есть ли способ поймать moveend и zoomend событий в OpenLayers3?openlayer 3 catch end end/zoom end события

Или есть обходное решение для использования change:center или change:resolution, чтобы узнать, когда движение/масштабирование закончилось?

ответ

1

Существует событие moveend на объект на карте, но не zoomend событие еще. Вы можете создать событие масштабирования, например this:

var currentZoomLevel; 

function initZoomEndEvent() 
{ 
    map.on('moveend', checknewzoom); 
    $(document).on('zoomend', function() { 

     console.log("Zoooom"); 
    }) 
} 


function checknewzoom(evt) 
{ 
    var newZoomLevel = map.getView().getZoom(); 
    if (newZoomLevel != currentZoomLevel)// 
    { 
     currentZoomLevel = newZoomLevel; 
     $(document).trigger("zoomend", zoomend_event); 
    } 
} 

function zoomend_event(evt) 
{ 
    //Your code here 
}