0

私はいくつかの助けを探しています....

まず、多数の場所(経度+緯度)を持つデータベースサーバー側があります

現在、1 つの都市だけで 1000 まであります。現時点では、私の Android デバイスは一度にすべての情報を取得します。次に、1000 個のアイテム別オーバーレイを作成し、それらをマップ ビューに追加します。これにより、エミュレータと電話の動作が遅くなります。

私が思いついたアイデアの 1 つは、場所を拡大してから、オーバーレイのサブセットをダウンロードしてマップ ビューに配置することでした。これに関する問題 1. マップをスクロールすると、リスナーを登録するイベントがわかりません。2. ユーザーがズームアウトしても、アイテム化された多数のオーバーレイが作成されます。

皆さんへの私の質問は、

これらの問題をどのように克服できますか? または、これを行うにはどうすればよいですか?

解決策は、Google マップの仕組みに似たものになります。ズームアウトすると詳細な地図は表示されませんが、ズームインすると詳細な地図が表示され、移動すると再読み込みされます

4

1 に答える 1

1

次に、1000 個のアイテム別オーバーレイを作成し、それらをマップ ビューに追加します。

OverlayItemsうーん...これはタイプミスで、「1000 」ではなく「1000」を意味していたと教えてくださいItemizedOverlays

1000OverlayItemsは十分に悪いかもしれませんItemizedOverlay。それほど多くのポイント用に設計されているわけではありません。

マップをスクロールすると、リスナーを登録するイベントがわかりません。

ここに直接的な解決策はないと思います。他の人がタッチイベントをリバースエンジニアリングして、それらを聞いていると思います。詳細については、 Android Maps get Scroll イベントを参照してください。

ユーザーがズームアウトしても、多数のアイテム化されたオーバーレイが作成されます。

優先順位付けスキームを使用します。Google マップで表示されるのは、上位 N 個のアイテムのみが表示されることです。「上位」は、ある種の優先メカニズムに基づいています。

于 2011-06-21T01:33:58.730 に答える