Leaflet: تجاهل خيار tms في 1.0؟

تم إنشاؤها على ٢٨ سبتمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: Leaflet/Leaflet

أنا أستخدم مربعات مخصصة تم إنشاؤها بواسطة gdal. في الإصدار 1.0 ، يتم عكس المربعات في المحور الصادي بعد التكبير. حاولت تبديل tms من صواب إلى خطأ ، لكن لم يكن له أي تأثير. لقد جربت أيضًا ميزة {-y} (مع إزالة خيار tms) ، لكنها تلقي بخطأ "لم يتم توفير قيمة للمتغير {-y}".

بعد التلاعب لفترة وجيزة أشرت إلى 0.6.4 بدلاً من 1.0 وكل شيء يعمل.

راجع للشغل ، يبدو ارتباط cdn بـ 0.7.7 معطلاً: http://cdn.leafletjs.com/leaflet-0.7.7/leaflet.js

الربط بالمقابل https://unpkg.com/[email protected]/dist/leaflet.js لـ 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);

ال 3 كومينتر

مناسب لي ، راجع http://playground-leaflet.rhcloud.com/bahu/edit؟html ، الإخراج

في المرة القادمة ، تحقق من البرنامج التعليمي WMS / TMS ، والذي يحتوي على أمثلة عملية لـ TMS ، وقم بصياغة تقرير خطأ مثل تقرير خطأ فعلي.

حسنًا ، لقد قرأت ذلك بالفعل (وجميع البرامج التعليمية) ، لكن هذا لا ينطبق حقًا على المربعات المخصصة جنبًا إلى جنب مع TMS. أقرب برنامج تعليمي هو http://leafletjs.com/examples/crs-simple/crs-simple.html. نظرًا لكوني موضوعًا مقصورًا على فئة معينة ، فقد كنت أتمنى الحصول على إرشادات. سأطلب من Stackoverflow في المرة القادمة ، يا سيئ.

بالنسبة لأي شخص آخر يحاول الحصول على CRS. العمل البسيط مع التجانب الذي تم إنشاؤه بواسطة GDAL ، يبدو أن سبب المشكلة هو كتلة التعليمات البرمجية هذه

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 أبدًا لأن infinite تم ضبطه على true في CRS. بسيط. إنشاء نسخة مخصصة من CRS. بسيط مع لانهائي = خطأ هو الحيلة لموقفي.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات