Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript OpenLayers JS-如何区分用户视图更改和编程视图更改?_Javascript_Openlayers - Fatal编程技术网

Javascript OpenLayers JS-如何区分用户视图更改和编程视图更改?

Javascript OpenLayers JS-如何区分用户视图更改和编程视图更改?,javascript,openlayers,Javascript,Openlayers,我在OpenLayers地图上建立了一个“moveend”侦听器。我可以平移或缩放地图,侦听器会按预期触发。我也需要在这个应用程序中以编程方式更改缩放和中心位置,但是,当我执行“moveend”侦听器时。是否可以在OpenLayers中区分用户驱动的视图更改和编程视图更改 我使用的是JavaScript OpenLayers 2.12版 我认为没有办法区分。但这是你能做的。以编程方式缩放或更改中心位置时,可以临时注销moveend事件,然后重新注册: 取消注册(“moveend”、映射、函数);

我在OpenLayers地图上建立了一个“moveend”侦听器。我可以平移或缩放地图,侦听器会按预期触发。我也需要在这个应用程序中以编程方式更改缩放和中心位置,但是,当我执行“moveend”侦听器时。是否可以在OpenLayers中区分用户驱动的视图更改和编程视图更改


我使用的是JavaScript OpenLayers 2.12版

我认为没有办法区分。但这是你能做的。以编程方式缩放或更改中心位置时,可以临时注销moveend事件,然后重新注册:

取消注册(“moveend”、映射、函数); . . 程序缩放 . .
map.events.register(“moveend”、map、function)

此外,在缩放或移动地图程序时,您可以将某些变量设置为true

在listener中,检查该变量。如果为真,则地图将按程序移动。检查后,将其设置回false