我想控制OpenLayers中的缩放。
当缩放为3时我想加载KML1,当缩放为4时我想加载KML2。
请告诉我如何控制缩放事件?
答案 0 :(得分:6)
正如j_freyre所提到的,你应该注册一个函数,它将你的KML图层的可见性改为“zoomend”-event。在你的情况下,它必须如下所示:
map.events.register("zoomend", map, zoomChanged);
zoomChanged()
{
zoom = map.getZoom();
if (zoom == 3)
{
kml1.setVisibility (true);
kml2.setVisibility (false);
}
else if (zoom == 4)
{
kml1.setVisibility (false);
kml2.setVisibility (true);
}
}
答案 1 :(得分:3)
实现这一目标的一种方法是在地图上的事件“zoomend”上注册事件,例如
map.events.register(type, obj, listener);
您可以在那里找到更多信息:http://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.html
也许您还应加载两个kml,然后根据缩放级别隐藏/显示正确的图层。