0

Google マップにさまざまなカテゴリの場所のマーカーがある Android アプリに取り組んでいます。たとえば、現在の場所の近くにある場所のマーカーのコレクションと、これまでに訪れた場所のマーカーのコレクションです。

マップ上のすべてのマーカーは、リスナーを使用して設定できることがわかりました

GoogleMap.setOnMarkerClickListener(OnMarkerClickListener)

ただし、マーカーのコレクションがあります

ArrayList<Marker> markerList1 
ArrayList<Marker> markerList2

そして、1 つのリスナーを使用して markerList1 にマーカーを設定し、他のリスナーを使用して markerList2 にマーカーを設定したいと考えています。これを行うための最良の方法を教えてください。

4

2 に答える 2

1

メソッドOnMarkerClickListenerはマップ オブジェクトに対して設定され、マーカーまたはマーカー グループ レベルでは設定できません。これはpublic boolean onMarkerClick(final Marker marker)、マップ上のマーカーをクリックすると同じことがトリガーされることを意味します。

さまざまな種類のマーカーのクリックを処理するには、if elseこの関数内でロジックを使用する必要があります。marker.getTitle() or marker.getSnippet()文字列の一致を詳細にチェックするか、マーカーの詳細を含むハッシュマップまたは sqlite db エントリをチェックすることで、マーカーが属するグループを特定できます。

于 2013-07-27T04:43:48.767 に答える