2

こんにちは私はグーグルアンドロイドマップv2を使用していて、マップにたくさんのマーカーを追加していますが、後でonInfoWindowClick関数で呼び出すためにマーカーオブジェクトに追加のデータを追加する必要があります。

現在、会場の同時リストを維持するMarkerManagerシングルトンクラスがありますが、onInfoWindowClick関数内で、MarkerManagerから何らかの形式のキーを介してこれを呼び出す必要があります。

マーカーは静的なファイナルであり、拡張できないようです。そのため、これを行う方法に少しこだわっています。

ありがとう、

アンディ

4

1 に答える 1

16

HashMap を作成できます。

 Map<Marker, YourCustomObject> theMap;

次に、マーカーをキーとして追加します。

Marker m = mMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.whatever)).position(new LatLng(mLat, mLong)));
theMap.put(m, yourCustomObjectInstance);

最後に、Info Window プロバイダーで、関数に指定されたマーカーを介してオブジェクトを取得できます` getInfoWindow:

mMap.setInfoWindowAdapter(new InfoWindowAdapter() {
    @Override
    public View getInfoWindow(Marker marker) {
        YourCustomObject yourCustomObjectInstance = theMap.get(marker);
    }
于 2013-02-06T15:03:10.727 に答える