10

我想控制 OpenLayers 中的缩放。

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

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

4

2 回答 2

7

正如 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);
  }
}
于 2013-03-28T08:04:16.340 回答
3

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

map.events.register(type, obj, listener);

您可以在此处找到更多信息:http ://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.html

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

于 2012-05-23T13:16:19.923 回答