1

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

我正在使用 JavaScript OpenLayers 2.12 版。

4

2 回答 2

0

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

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

于 2013-03-14T07:39:27.800 回答
0

此外,当以编程方式缩放或移动地图时,您可以将一些变量设置为 true。

在侦听器中,检查该变量。如果为真,则 map 以编程方式移动。检查后,将其设置回false。

于 2013-03-15T10:29:33.053 回答