我是Open-layers 3的新用户。我的网页上有OL3添加的图层OSM,我添加了ol.layer.Vector的任何矢量图层(标记)。我需要在缩放级别更改时更改矢量图层。请
答案 0 :(得分:3)
您甚至可以直接通过创建矢量图层来定义最大和最小分辨率。
类ol.layer.Vector有选项:
如果您不知道地图视图的分辨率,可以使用 map.getView()。getResolution()方法找出它
答案 1 :(得分:1)
图层具有 setVisible()/ getVisible()方法,因此您可以在特定缩放级别触发图层上的图层。可以在'moveend'事件中导出缩放,然后您可以触发特定图层是否可见。
可以从 map.getView()获取缩放.getZoom()(将返回缩放的数字),然后告诉您需要相应地显示或隐藏的图层。
图层保存在Collection(数组)对象中,可以通过 map.getLayers()调用获取,然后您可以选择显示/隐藏哪一个。当我添加图层时,我会记录它们的顺序,这样我就可以直接得到它。
map.getLayers()。item(0)会返回我添加到图层的第一层,(1)第二层等。