0

同じ画面にマップビューとリストビューがあります。半分はマップで、残りの半分はリストビューです。場所のリストがあります(つまり、緯度と経度)。アクティビティを開始すると、マップ上のすべての場所が読み込まれ、リストの最初の場所を指す必要があり、他の場所は表示されません。各リストビュー項目にボタンがあります。リストビュー項目のいずれかのボタンをタップすると、マップがその特定の場所にアニメーション化されます。画面の上部には、すべての場所を表示するためのボタンがもう 1 つあります。このボタンをタップすると、リスト内のすべての場所が地図上に表示されます。リスト項目の数は異なる場合があります。どうすればできますか

4

2 に答える 2

1

listView の各項目 (ボタン) のクリック時に mapView にオーバーレイを作成するなどのことを試してみてください。AnimateTo() を使用して場所にアニメーション化し、Point メソッドを使用して場所 (緯度、経度) をポイントに変換します。オーバーレイを作成する必要があります。各場所(つまり、アイテムがクリックされたとき)をオーバーレイのリストに追加します。

ただし、この方法では、mapView で作成したオーバーレイにボタンを 1 回クリックするだけですべての場所を表示することはできません。

各場所のオーバーレイを作成し、オーバーレイのリストに追加して表示しようとすると、正常に機能する場合がありますが、最初にプロットされた場所が適切に表示されない場合があります (オーバーレイの透明度を設定してみてください) 代わりに、Google を検索することができます場所のリストを取得してプロットする api。

この説明がお役に立てば幸いです。

于 2012-05-30T06:18:27.090 に答える
0

ロードする前に場所がわかっているので、サイドバーにリストを表示するコードを書くことができます。KMLファイルを読み込む場合は、まったく異なり、データを内部に取り込むためにファイルを自分で解析する必要があります。私は一度文字列解析を使ってこれを行いましたが、プロジェクト全体が非常に遅くなりました。JAKを見つけましたが、登録が必要で、使用しませんでした

于 2012-05-30T06:02:02.400 に答える