Leaflet: opsi tms diabaikan di 1.0?

Dibuat pada 28 Sep 2016  ·  3Komentar  ·  Sumber: Leaflet/Leaflet

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);

Semua 3 komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

broofa picture broofa  ·  4Komentar

zdila picture zdila  ·  3Komentar

timwis picture timwis  ·  3Komentar

arminghm picture arminghm  ·  3Komentar

JonnyBGod picture JonnyBGod  ·  4Komentar