Volantino WMTS ordine piastrelle errato
Aug 21 2020
Ho aggiunto un livello WMTS a una mappa depliant. Le tessere si stanno caricando ma non sono nell'ordine corretto. Qualcuno ha mai riscontrato questo problema? Se è così, come l'hai superato?

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
Risposte
TomazicM Aug 21 2020 at 21:45
Se guardi le funzionalità del set di tessere, noterai una linea <TileMatrixSet>GoogleMapsCompatible</TileMatrixSet>
, il che significa che questo è il set di tessere standard di Google Maps. Come ha sottolineato @nmtoken, ciò significa che x
e l' y
ordine dovrebbe essere invertito e che questo non è il livello TMS, quindi l'opzione del livello tms
dovrebbe essere lasciata fuori:
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'
}
);