解析OpenLayers 3地图结构

创建一个地图如此之简单,但最好还是先弄明白OpenLayers 3的地图是如何构成的,这对于初学者而言就尤为重要了,要不然,在后续的学习过程中,经常找不到解决问题的方向。

现在回过头来再看看前面那个例子中创建地图的代码:

        // 新建一个地图
      new ol.Map({
            // 定义地图显示图层集合
            layers: [
              // 新建一个使用Open Street Map地图源的瓦片地图图层
              new ol.layer.Tile({source: new ol.source.OSM()})
            ],
            // 新建显示地图的视图
            view: new ol.View({
              center: [0, 0],    // 定义地图显示中心于经度0度,纬度0度处
              zoom: 2            // 并且定义地图显示层级为级别2
            }),
            // 设置id为map的dom元素来作为地图的容器
            target: 'map'    
        });

注意看,其实上面这段代码就只有一条语句new ol.Map(option),其他的都是创建地图设置的参数。为此我们记住了ol.Map是最主要的地图类了。然后依次查看参数:

  • 第一个是layers参数,就单词字面意思相信大家不难理解,但具体到业务上来说,OpenLayers 3地图是由多个层组成的,类似于Photoshop里面的图层,多个层是可以叠加的,在最上面的会覆盖下面的,以此类推。在OpenLayers 3中,根据业务会有多中不同类型的层,具体的参见后续Openlayers 3的Layer
  • 第二个是view参数,地图显示的窗口就全由它负责了,负责控制显示的范围,中心点,缩放层级等。是非常重要的概念。
  • 第三个是target参数,它表示地图容器。和地图业务没有什么关系。

由此我们可以发现OpenLayers 3的地图主要是由layerview组成,layer可以有多个,view只能有一个。