Saya menggunakan ubin khusus yang dihasilkan oleh gdal. Di 1.0, ubin dibalik di sumbu y setelah zoom-in. Saya mencoba mengubah tms
dari true ke false, tetapi tidak berpengaruh. Saya juga mencoba fitur {-y}
(dengan opsi tms dihapus), tetapi itu menimbulkan kesalahan "Tidak ada nilai yang disediakan untuk variabel {-y}".
Setelah mengutak-atik untuk sementara saya mereferensikan 0.6.4 bukannya 1.0 dan semuanya bekerja.
Btw, link cdn ke 0.7.7 sepertinya down: http://cdn.leafletjs.com/leaflet-0.7.7/leaflet.js
Menautkan ke https://unpkg.com/[email protected]/dist/leaflet.js untuk 1.0
var map = L.map('map', {
crs: L.CRS.Simple,
center: L.latLng(-128, 128),
zoom: -2
});
L.tileLayer('/map/{z}/{x}/{y}.png', {
noWrap: true,
attribution: 'WW',
detectRetina: false,
bounds: L.latLngBounds(
L.latLng(-256, 0),
L.latLng(0, 256)
),
tms: true,
minZoom: 0,
maxZoom: 4
}).addTo(map);
Bekerja untuk saya, lihat http://playground-leaflet.rhcloud.com/bahu/edit?html ,output
Lain kali, periksa tutorial WMS/TMS , yang berisi contoh kerja TMS, dan rumuskan laporan bug seperti laporan bug yang sebenarnya.
Benar, saya sudah membacanya (dan semua tutorial), tetapi itu tidak benar-benar berlaku untuk ubin khusus dalam hubungannya dengan TMS. Tutorial terdekat adalah http://leafletjs.com/examples/crs-simple/crs-simple.html. Menjadi agak dari topik esoteris, saya berharap untuk bimbingan. Saya akan bertanya di Stackoverflow lain kali, ya ampun.
Bagi siapa pun yang mencoba membuat CRS. Sederhana bekerja dengan ubin yang dihasilkan oleh GDAL, masalahnya tampaknya disebabkan oleh blok kode ini
if (this._map && !this._map.options.crs.infinite) {
var invertedY = this._globalTileRange.max.y - coords.y;
if (this.options.tms) {
data['y'] = invertedY;
}
data['-y'] = invertedY;
}
y
tidak akan pernah terbalik karena infinite
disetel ke true di CRS.Simple. Membuat salinan kustom CRS.Simple dengan infinite = false berhasil untuk situasi saya.