Openlayers 3 确定映射moveend事件是否由用户启动
我在服务器上注册了一个“moveend”事件侦听器。当地图被用户输入移动时,它会启动,但当我呼叫并启动时也会启动Openlayers 3 确定映射moveend事件是否由用户启动,openlayers-3,Openlayers 3,我在服务器上注册了一个“moveend”事件侦听器。当地图被用户输入移动时,它会启动,但当我呼叫并启动时也会启动 是否可以检查“moveend”以确定事件是由用户输入触发的,还是由手动更改地图视图的属性触发的?我最后执行了以下操作 map.on('moveend', function(event) { var mapView = map.getView(), moveInitiatedProgrammatically = mapView.get('moveInitiatedPro
是否可以检查“moveend”以确定事件是由用户输入触发的,还是由手动更改地图视图的属性触发的?我最后执行了以下操作
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);
这并不理想,原因如下:
然而,它同时解决了我的问题。我最后做了以下几点
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);
这并不理想,原因如下:
但是,它同时解决了我的问题。似乎没有容易(也不难)区分用户交互的方法。似乎没有容易(也不难)区分用户交互的方法。