我在ol.Map上注册了'moveend'事件监听器。当用户输入移动地图时,它也会触发,当我拨打ol.View.setCenter和ol.View.setResolution时也是如此。
是否可以检查'moveend'ol.MapEvent以确定事件是由用户输入触发还是手动更改地图视图的属性?
答案 0 :(得分:0)
我最终做了以下事情。
map.on('moveend', function(event) {
var mapView = map.getView(),
moveInitiatedProgrammatically = mapView.get('moveInitiatedProgrammatically') || false;
mapView.unset('moveInitiatedProgrammatically');
// evaluate moveInitiatedProgrammatically's value and behave accordingly...
});
map.getView().set('moveInitiatedProgrammatically', true);
map.getView().setCenter(coord);
由于以下原因,它并不理想:
然而,它在此期间解决了我的问题。