OpenLayers的view与layer:控制显示内容

view与layer都可以进行显示内容的控制。这两者负责的功能是由区别的。

view即显示的地图容器,有以下几个属性:

  • center:[经度,纬度] ,对应的设置函数为view.setCenter()。。用于设置一个地图上的点,该点将显示在view中央。
  • zoom:放缩等级,对应的设置函数为view.setZoom()。一个地图可以有多个放缩等级,为view设置zoom,则会将地图放缩到对应的等级。通常是配合center来使用的。但注意必须在地图初始化后才能调用。
  • minZoom/maxZoom:最小/最大放缩等级。设置后,对view进行放缩,最小只能到minZoom,最大只能到maxZoom。否则可以无限缩小/放大。
  • extent:[左下角经度,左下角纬度,右上角经度,右上角纬度]。用于设置view的显示区域。一般来说,将地图放缩到合适等级,然后设置该等级下需要显示的地图区域即可,这样在移动地图的时候可以保证不会将地图偏移太远。关于显示区域,其含义是指始终显示在view中的区域。不在该范围内的区域随着地图的放缩和平移一样会被显示在view中。但在该范围内的区域,随着地图的放缩和平移,设置的显示区域边界一定会被显示在view中,是无法移出view之外的。例如,设置了赤道为左下角纬度,北回归线为右上角纬度。那么将view中的地图向上平移,最后整个北半球都会被移到view上方,但赤道会卡在view的最上边界处,无法继续上移。同理,将整个地图向下平移,最后北回归线会卡在view的下边界处。同时这个也跟调用的view.fit()有关。

layer这里指地图的底图。例如使用ol.layer.Tile()创建的layer。其重要的属性只有一个:extent。extent用于指定底图的显示区域。若指定的区域大于底图的区域,那么底图会完全显示;若指定的区域与底图之间没有重叠,那么底图不会被显示;若指定的区域与底图部分重叠,那么底图只显示重叠区域。

例如:

指定区域为[180.0, 0.0, 180.0, 90.0]

指定区域为山东的一部分:

 

 

转载自:https://blog.csdn.net/fyyyr/article/details/82959393

You may also like...