Folheto WMTS ordem errada dos blocos

Aug 21 2020

Eu adicionei uma camada WMTS a um mapa do folheto. Os blocos estão carregando, mas não estão na ordem correta. Alguém já encontrou esse problema? Se sim, como você superou isso?

    var map = new L.Map('viewerDiv', {
         crs: L.CRS.EPSG3857
    });
    var url =
        'http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/tile/1.0.0/World_Topo_Map/default/default028mm/{z}/{x}/{y}.png';
    var tilelayer = new L.tileLayer(url, {
        tileSize: 256,
        tms: true,
        attribution: 'World Map'
    });
    map.addLayer(tilelayer);
    map.setView(L.latLng(50, 8), 4);

http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/1.0.0/WMTSCapabilities.xml

Respostas

TomazicM Aug 21 2020 at 21:45

Se você olhar para os recursos do tileset, você notará linha <TileMatrixSet>GoogleMapsCompatible</TileMatrixSet>, o que significa que este é o tileset padrão do Google Maps. Como @nmtoken salientou, isto significa que xe yfim devem ser invertidos e que esta não está TMS camada, de modo opção camada tmsdeve ser deixado de fora:

var tilelayer = new L.tileLayer(
  'http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/tile/1.0.0/World_Topo_Map/default/default028mm/{z}/{y}/{x}.png',
  {
    tileSize: 256,
    attribution: 'World Map'
  }
);