1

キャンバス上に多数のヘクスタイルをレンダリングする必要があります。これを作成して、ユーザーに表示されるタイルのみをレンダリングし、ユーザーがスクロールするときに追加のヘクスタイルをロードします(ドラッグキーまたは矢印キーまたはパンコントロールを使用)。私は頭の中で基本的な考えを持っていますが、うまく拡張できるより堅牢なソリューションを考え出すための助けを探しています。

私が念頭に置いており、今できること:

a。画面にロードする必要のあるタイルを特定し、サーバーからそれらをレンダリングするためのデータを取得します。ユーザーがドラッグしたら、ロードする必要のある新しいタイルのセットを見つけてデータを取得し、画面全体を再度リロードします。

これは機能しますが、スクロールの感覚はありません。基本的に、すべてが突然再配置されます。理想的には、これをスクロールするときにグーグルマップの感覚を取得したいと思います。マップの外側にいくつかのタイルをロードし、ドラッグするときに下にあるキャンバスをスクロールするだけで遊んでいますが、キャンバスがなくなるため、これはあまりうまく機能しません...循環バッファのように動作するため、任意の方向にスクロールすると、特定の数のタイルのみがメモリに保持され、すべての方向に継続的にスクロールできます。

どんな考えや役に立つヒントも大歓迎です。

ありがとう!

4

1 に答える 1

0

このための出発点として、Google MapsFlashAPIを使用することをお勧めします。CustomTileLayerを作成できます。単一の大きなソース画像がある場合は、画像をさまざまなズームレベルのサンプルにスライスする画像ピラミッドメーカーを検索できます(通常、ズームレベルを使用するフォルダー構造が作成されると思います)フォルダ名として、画像の解像度とズームレベルに応じて各フォルダにx、yタイルがあります)。ズームがまったく必要ない場合は、ズームレベルが1つだけで、マップコントロールのズームコントロールを無効にする必要があります。あなたがこれを避けている理由があるか、それが良い解決策ではないと信じているかどうか私に知らせてください(おそらくそれが存在することに気づいていなかったかもしれませんが、グーグルマップがどのように動作するかのようなものが必要かどうかはわかります、なぜグーグルマップを基礎として使ってみませんか)。掘り下げた後でこれについてさらにサポートが必要な場合は、お知らせください。喜んでサポートさせていただきます。CustomTileLayerを自分で実装したことはありませんが、Google Maps Flash APIの使用経験は少しあります(柔軟性もあります。正しいswcを使用します。一方はFlashのみで、もう一方はFlexです。両方は含まれません)。

頑張って、ショーン

http://nl-samples.googlecode.com/svn/trunk/flexmap/9a/bin-release/CustomProjection.html

于 2011-02-08T20:00:01.320 に答える