1

基本的に、私がやろうとしているのは、同じ種類の効率的なタイルの読み込み、ズーム/パンの素晴らしさを自分で構築することなく、マップ ビューアーを画像ビューアーとして使用することです。

具体的には、古い (変更されていない) タイルの座標を変更せずに、画像を拡大および変更できる画像ビューアーが必要です。これは、画像が成長し始めた中心点 (0,0) が常に (0,0) のままでなければならないことを意味します。だから私は非常に基本的なデカルト座標系 (マップ投影なし!) を使用できるようにするライブラリを探しています。軸はマップの上下に表示されますが、x 軸は繰り返されます)。

別のキャッチがあります。完全にズームするには、ズーム レベル 0 が必要です。画像は常に拡大しているため、最大ズーム レベルがどうなるかを知る方法はありません。座標は、ズーム レベル z のすべてのタイルに 2^z 個のベース レイヤー タイルが含まれるように、ベース イメージ レイヤー タイルに基づく必要があります。

これが OpenLayers で可能かどうか、またその方法を知りたいです。そうでない場合は、これを実行できる他の (オープンソースの JavaScript) ライブラリの提案をいただければ幸いです。Polymapsで遊んでみましたが、ドキュメントが不足しているため、機能するかどうかを判断できません。これまでのところ運がありません。

これが意味をなさない場合はお知らせください。画像またはより良い説明を含めようとします. ありがとう!

4

1 に答える 1

1

結局、Polymaps を使用することになりました。OpenLayers よりも気に入っているためです。Polymaps の方が高速で、スクロールとパンがはるかにスムーズだからです。やりたいことを正確に行うことはできませんでしたが、私がやったことは十分に近いものでした.

私は(po.image()レイヤーに基づいて)独自のレイヤーを作成することになりました。これにより、マップの無限水平ループが無効になりました。次に、独自のバージョンの po.url() を作成して、タイルのサーバーに送られるリクエストを変更し、ズームが逆になるようにしました (「最大」ズームの 20 を任意に選択し、リクエストを作成するときに、ズーム レベルを20)、x 座標と y 座標は、ズーム レベルと (0,0) を中心とするマップに基づいて、Polymaps が使用する標準の行、列座標からデカルト座標に変換されました。

誰かがコードに興味がある場合は、ここに投稿できます。お知らせ下さい!

編集: https://github.com/camupod/polymapsの github にコードを投稿しました。

関連するファイルは src/Backwards* と examples/backwards です (実際には動作しませんが、動作に関する情報を消去できる場合があります)

于 2012-04-15T23:22:15.230 に答える