OpenLayers JS - 如何区分用户和程序化视图的变化?

时间:2013-03-12 14:06:49

标签: javascript openlayers

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

我正在使用JavaScript OpenLayers版本2.12。

2 个答案:

答案 0 :(得分:0)

我认为没有办法解决问题。但这就是你能做的。当您以编程方式缩放或更改中心位置时,您可以暂时取消注册moveend事件,然后重新注册它:

map.events.unregister(“moveend”,map,function); 。 。 以编程方式缩放 。 。 map.events.register(“moveend”,map,function);

答案 1 :(得分:0)

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

在侦听器中,检查该变量。如果确实如此,则会以程序方式移动地图。检查后,将其设置为false。