2011-11-16 4 views
4

マップビューには、いくつかのピンが異なるアドレスにプロットされています。すべてがうまく動作します。 複数のアイテムが同じアドレスを指している場合に問題が発生します。例えば 、OverlayItem内のクリック可能なリスト(Android用MapView)

ユニット45分の1 ABC街、XYZ
ユニット45分の7 ABC通り、XYZ。

次のコード行を使用して、GeoPointを作成するためにlatとlongをフェッチします。

List<Address> listfromGoogle = gc.getFromLocationName(a, 1); 

ここで、aはアドレスであり、gcはGeoCoderオブジェクトです。

APIによれば、上記の2つのアドレスは同じ座標を返します。

したがって、マップ上のピンをプロットしている間、それらはお互いに上書きして、複数のアドレスに対して1つのピンになります。

バルーン上のすべての繰り返しアドレスを表示するリストを実装しようとしました。 試みは無駄だったと私は

OverlayItem(GeoPoint point, java.lang.String title, java.lang.String snippet) 

は私が唯一のバルーン上に表示される2つの文字列を供給することを可能にすることを実現しました。

複数のアドレスを表示するリストをどのように絞り込むことができますか?

答えて

0

あなたはonTap方法

public class ListItemizedOverlay extends ItemizedOverlay<ListOverlayItem> { 

    @Override 
    protected boolean onTap(int index) { 
     // get item they tapped from index 
     // use getList() to populate the listview in the custom dialog 
    } 
} 
+0

おかげCraigyにリストとカスタムダイアログを作成するには、このリストを使用することができますItemizedOverlayカスタムで、カスタムOverlayItem

public class ListOverlayItem extends OverlayItem { private List<Address> list; public ListOverlayItem(GeoPoint point, List<Address> list) { super(point, "", ""); } public List<Address> getList() { return list; } } 

を実装する必要があります!おそらくちょうど私が必要なスタート!どうすればいいのか教えてください:) – Neo

+0

こんにちは私は同じことをやっている、私はリストを作成するonTab method.everything内のコードを与える任意のoverlayitemをクリックすると、 。 –

+0

@RajeshSharmaあなたはそれについて新しい質問を投稿するべきです。表示されている例外や関連するコードを必ず投稿してください。 – Craigy