同步地图

操作左边地图

index.html
<!DOCTYPE html>
<html>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>地图 - 同步地图</title>
  <link rel="icon" href="/examples/static/resource/image/favicon.png" />
  <style type="text/css">
    html,body{margin:0px;height:100%;width:100%}
    #map0{width:calc(50% - 2px);height:calc(100% - 2px);float:left;border:1px solid}
    #map1{width:calc(50% - 2px);height:calc(100% - 2px);float:right;border:1px solid}
  </style>
  <link rel="stylesheet" href="//rd.sz-map.com/libs/gm/gl/gl.min.css">
  <script type="text/javascript" src="//rd.sz-map.com/libs/gm/gl/gl.min.js"></script>
  <body>
    
    <div id="map0"></div>
    <div id="map1"></div>

    <script>
      function initMap() {
        this.map0 = new GL.Map('map0', {
          center: '120.650847,31.3092434'
        });
      
        var crs = {"resolutions":[0.0009765664903423653,0.0004882832451711827,0.00024414162258559134,0.00012207081129279567,0.00006103540564766688,0.000030517702822564394,0.000015258851412551242,0.000007629425705006574,0.000003814712853772333,0.00000190735154359766],"origin":"119.75,32.25"};
        var options = {"maxBounds":"119.89,30.75;121.406,32.08","preview":"/examples/static/images/preview.png"};
      
        var baseLayer = GL.LayerLookup.createGaeaTiledLayer(
          'http://119.3.130.139/tiles/vector_pc/_alllayers',
          Object.assign({}, options, { zIndex: 3 }),
          crs
        );
        this.map0.addBaseLayer(baseLayer);
      
        this.map1 = new GL.Map('map1', {
          zoomControl: false,
          scaleControl: false,
          center: this.map0.getCenter().toString(),
          zoom: this.map0.getZoom(),
          dragging: false, // 禁用地图拖拽
          scrollWheelZoom: false, // 禁用鼠标滚轮缩放地图
          doubleClickZoom: false, // 禁用鼠标双击缩放地图
          zoomEffect: false
        });
      
        var baseLayer2 = GL.LayerLookup.createGaeaTiledLayer(
          'http://119.3.130.139/tiles/vector_pc/_alllayers',
          Object.assign({}, options, { zIndex: 3 }),
          crs
        );
        this.map1.addBaseLayer(baseLayer2);
      
        var self = this;
        this.map0.on('move moveend', function (e) {
          self.map1.setView(self.map0.getCenter(), self.map0.getZoom(), {
            animate: false
          });
        });
      }
      
      GL.init(initMap, '/examples/static/conf.json');

    </script>
  </body>
</html>
已复制!