地图联动

OpenLayers 3采用了MVC模型,V对应的就是View,这种设计模型有什么好处?我们还是直接看下面这两个地图:

地图1

地图2

拖动地图1的同时,看看地图2有什么变化,是不是很神奇,为什么呢?

<p>地图1</p>
<div id="map1" style="width: 100%"></div>
<p>地图2</p>
<div id="map2" style="width: 100%"></div>
<script>
    // 创建一个视图
    var view = new ol.View({
            center: [0, 0],
            zoom: 2
        });

    // 创建第一个地图
  new ol.Map({
        layers: [
            new ol.layer.Tile({source: new ol.source.OSM()})
        ],
        view: view,
        target: 'map1'
  });

    // 创建第二个地图
    new ol.Map({
        layers: [
            new ol.layer.Tile({source: new ol.source.OSM()})
        ],
        view: view,
        target: 'map2'
  });
</script>

代码只有一点不同,即两个ol.Map使用了同一个view,就是这么神奇。