我想控制 OpenLayers 中的缩放。
当缩放为 3 时,我想加载 KML1,当缩放为 4 时,我想加载 KML2。
你能告诉我如何控制缩放事件吗?
正如 j_freyre 所提到的,您应该将一个函数注册为“zoomend”事件,该函数会更改 KML 层的可见性。在您的情况下,它必须如下所示:
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);
}
}
实现这一点的一种方法是在地图上的事件“zoomend”上注册一个事件,例如
map.events.register(type, obj, listener);
您可以在此处找到更多信息:http ://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.html
也许您还应该加载两个 kml,然后根据缩放级别隐藏/显示正确的图层。