Openlayers 如何根据缩放级别加载图层?

Openlayers 如何根据缩放级别加载图层?,openlayers,Openlayers,我想控制OpenLayers中的缩放 当缩放为3时,我要加载KML1,当缩放为4时,我要加载KML2 您能告诉我如何控制缩放事件吗?一种方法是在地图上的事件“zoomend”上注册一个事件,例如 map.events.register(type, obj, listener); 您可以在此处找到更多信息: 也许您还应该加载两个kml,然后根据缩放级别隐藏/显示正确的图层。正如j_freyre提到的,您应该将一个函数注册到“zoomend”-事件中,该函数可以更改kml图层的可见性。在您的情况下

我想控制OpenLayers中的缩放

当缩放为3时,我要加载KML1,当缩放为4时,我要加载KML2


您能告诉我如何控制缩放事件吗?

一种方法是在地图上的事件“zoomend”上注册一个事件,例如

map.events.register(type, obj, listener);
您可以在此处找到更多信息:


也许您还应该加载两个kml,然后根据缩放级别隐藏/显示正确的图层。

正如j_freyre提到的,您应该将一个函数注册到“zoomend”-事件中,该函数可以更改kml图层的可见性。在您的情况下,它必须如下所示:

map.events.register(“zoomend”、map、zoomChanged);
zoomChanged()
{
zoom=map.getZoom();
如果(缩放==3)
{
kml1.setVisibility(真);
kml2.setVisibility(false);
}
else if(缩放==4)
{
kml1.setVisibility(假);
kml2.setVisibility(真);
}
}

我希望缩放的每一次更改都能起作用。我插入的事件已更改,但它不起作用。也许您有所有事件的列表,将
getZoom
值存储在变量中更有效,如
zoom=map.getZoom()
然后在if语句中查看它,如
if(zoom==3)
。这样就避免了每次调用
getZoom