Skip to content

使用纠偏功能范例代码加载高德瓦片,采用maxZoom: 20, maxAvailableZoom: 18的配置,当放大到20倍时,瓦片之间有较大的缝隙,18倍及以下很完美。 #2656

@WJLogic

Description

@WJLogic

问题如题,官方范例代码如下(有轻微调整)
`

<script type="text/javascript" src="./lib/plugins/maptalks-gl.js"></script> <title>Debug</title> <style> html, body { margin: 0px; height: 100%; width: 100%; } .map { width: 100%; height: 100%; border: 1px solid; } .pane{background:#34495e;line-height:28px;color:#fff;z-index:10;position:absolute;top:20px;right:20px} .pane a{display:block;color:#fff;text-align:left;padding:0 10px;min-width:28px;min-height:28px;float:left} </style>
Show layerHide Layer
<script> var center = new maptalks.Coordinate([121.175522, 36.500014]); var map = new maptalks.Map('map', { "center": [121.175161,36.500391], "zoom": 16, "pitch": 0, "bearing": 0, scaleControl: true, zoomControl: { 'position' : 'top-left', 'zoomLevel' : true }, minZoom: 3, maxZoom: 20, maxAvailableZoom: 18, baseLayer: new maptalks.TileLayer('base', { 'urlTemplate': 'https://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=urtk', 'subdomains': ['1', '2', '3', '4', '5'], attribution: '© TianDitu' }) });
var wgslayer = new maptalks.TileLayer('base', {
  pyramidMode: 1,
        maxAvailableZoom: 18,      
  offset: function (z) {
    //实时计算wgs84和gcj02瓦片的偏移量
    const center = map.getCenter();
    const c = maptalks.CRSTransform.transform(center.toArray(), 'GCJ02', 'WGS84');
    const offset = map.coordToPoint(center, z).sub(map.coordToPoint(new maptalks.Coordinate(c), z));
    return offset._round().toArray();
  },
  //debug: true,
  //opacity: 0.5,
  'urlTemplate': 'http://webst{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=6&x={x}&y={y}&z={z}',
  'subdomains': ['01', '02', '03', '04'],
  attribution: '&copy; AMaps'
});

wgslayer.addTo(map);

  var point = new maptalks.Marker(
    [121.175161,36.500391],
    {
    'symbol' : {
      'markerType': 'ellipse',
      'markerFill': 'red',
      'markerFillOpacity': 1,
      'markerLineColor': '#34495e',
      'markerLineWidth': 3,
       'markerLineOpacity': 1,
       'markerLineDasharray':[],
       'markerWidth': 5,
       'markerHeight': 5,
       'markerDx': 0,
       'markerDy': 0,
       'markerOpacity' : 1
     }
    }
  );

  new maptalks.VectorLayer('vector', point).addTo(map);
  
  
  function show() {
    wgslayer.show();
  }

  function hide() {
    wgslayer.hide();
  }

      </script>
    </body>
  </html>

`

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions