2016-08-04 8 views
2

タイルを読み込もうとしているリーフレットに問題があります。そのタイルは存在せず、自分のMaxBoundsの外にあります。 リーフレット - MaxBounds以外のタイルのロードを防止する

jsfiddle replicating issue with my tileset

はまた、最後に次のように試してみました:

map.setBounds(new L.LatLngBounds(southWest, northEast)); 

それはちょうど私の問題を解決せずにポップアップし、マーカーや他のすべてを破るようです。マップの

フルサイズは4096×4096

無関係な質問です、それは常にすべてのマーカーを配置するか、定期的COORDSを取得中unproject使用するかをせずに、非投影ピクセルCOORDSを使用するCOORDシステムを変更することは可能でしょうか?

答えて

5

リーフレットに、タイルレイヤーに定義済みの範囲外で配信するタイルがないことを伝えるには、単にboundsオプションを使用します。

あなたのケースでは、あなたのマップの最大範囲と同じになると思います。

ゲームマップを表示しようとしていることがわかります。そのため、CRSをL.CRS.Simpleに変更する必要があります。地図の代わりにcrsオプションをタイルレイヤーに間違って適用した場合は注意してください。計算された境界が地図CRSと一致しない場合や、好きでない場所にナビゲートする場合があります。

別途ご質問ください。

ところで、タイルレイヤーでtmsオプションを使用する理由がわかりません。また、ズームレベル4のタイルは、以前のズームレベルと比べて完全に一致していないようです。更新されたJSFiddle:https://jsfiddle.net/f2Ljzpbh/2/

+0

私のヒーローもう一度!私はマップ上のcrsを試してみたと思ったが、私はそうは思わない。 タイルについては、私は再編成し、あなたが見ていたときに彼らは間違って出てきたので、それらを並べ替える必要がありました。それは修正されました:) – JoshQuake

関連する問題