Openlayers 3:当缩放级别改变时更改矢量图层

时间:2015-05-04 14:03:55

标签: openlayers-3

我是Open-layers 3的新用户。我的网页上有OL3添加的图层OSM,我添加了ol.layer.Vector的任何矢量图层(标记)。我需要在缩放级别更改时更改矢量图层。请

2 个答案:

答案 0 :(得分:3)

您甚至可以直接通过创建矢量图层来定义最大和最小分辨率。

类ol.layer.Vector有选项:

  • minResolution:此图层可见的最小分辨率(包括)。
  • maxResolution:此图层可见的最大分辨率(不包括在内)。

如果您不知道地图视图的分辨率,可以使用 map.getView()。getResolution()方法找出它

答案 1 :(得分:1)

图层具有 setVisible()/ getVisible()方法,因此您可以在特定缩放级别触发图层上的图层。可以在'moveend'事件中导出缩放,然后您可以触发特定图层是否可见。

可以从 map.getView()获取缩放.getZoom()(将返回缩放的数字),然后告诉您需要相应地显示或隐藏的图层。

图层保存在Collection(数组)对象中,可以通过 map.getLayers()调用获取,然后您可以选择显示/隐藏哪一个。当我添加图层时,我会记录它们的顺序,这样我就可以直接得到它。

map.getLayers()。item(0)会返回我添加到图层的第一层,(1)第二层等。