解析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的地图主要是由layer和view组成,layer可以有多个,view只能有一个。