Leaflet: 1.0ではtmsオプションは無視されますか?

作成日 2016年09月28日  ·  3コメント  ·  ソース: Leaflet/Leaflet

gdalによって生成されたカスタムタイルを使用しています。 1.0では、ズームイン後にタイルがy軸で反転します。 tmsをtrueからfalseに切り替えようとしましたが、効果がありませんでした。 新しい{-y}機能(tmsオプションを削除した状態)も試しましたが、「変数{-y}に値が指定されていません」というエラーがスローされます。

しばらくいじった後、1.0ではなく0.6.4を参照しましたが、すべてが機能します。

ところで、0.7.7へのcdnリンクはダウンしているようです: http ://cdn.leafletjs.com/leaflet-0.7.7/leaflet.js

1.0のhttps://unpkg.com/[email protected]/dist/leaflet.jsに対するリンク

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 、outputを参照してください

次回は、TMSの実例を含むWMS / TMSチュートリアルを確認し、実際のバグレポートのようにバグレポートを作成してください。

そうです、私はすでにそれ(およびすべてのチュートリアル)を読んでいましたが、それはTMSと組み合わせたカスタムタイルには実際には当てはまりません。 最も近いチュートリアルはhttp://leafletjs.com/examples/crs-simple/crs-simple.htmlです。 やや難解な話題なので、指導を期待していました。 次回はStackoverflowで質問します。

CRS.Simpleを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;
        }

CRS.Simpleではinfiniteがtrueに設定されているため、 yが反転することはありません。 CRS.Simpleのカスタムコピーをinfinite = falseで作成することで、私の状況にうまくいきました。

このページは役に立ちましたか?
0 / 5 - 0 評価