2016-02-04 13 views
17

Próbuję ustawić onInfoWindowClickListener dla każdego znacznika, który uderzył w powiązane API zgodnie z ID POJO. To właśnie znalazłem dla ustawienia zdarzenia OnInfoWindowClick.Jak ustawić znacznik znacznika mapy Google w systemie Android?

googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() { 

     @Override 
     public void onInfoWindowClick(Marker marker) { 
      // TODO Auto-generated method stub 

     } 
    }); 

Ale muszę ustawić związanych identyfikatory Pojo jako znaczniki do związanych markerów zanim zrobię googleMap.addMarker(marker). Ale nie ma czegoś takiego jak marker.setTag(). Jak mogę umieścić mój identyfikator bez tagu ustawienia?

+1

Użyj 'HashMap' i zapamiętaj' znacznik ID' i 'Pojo Id' –

+0

jak zdobyć identyfikator znacznika? –

+0

nie ma markera.setID (""), marker.getID(), też ..: 3 –

Odpowiedz

5

Mam jeden sposób. Wystarczy utworzyć HashMap zarówno z głównego Marker a drugi z POJO Class i otrzymać zwrot POJO Class podstawie Szczególną Marker kliknięciu getInfoContents(.....)

46

Teraz można zrobić jak ten

zaktualizować swój google wersję usług Play, aby

com.google.android.gms:play-services:9.4.0 

Marker marker=mMap.addmarker(new MarkerOptions(LatLang)); 
// set object as tag 
marker.setTag(your object) 

// to retrieve the marker 
marker.getTag();// Type cast to your object type; 
+4

To są cenne informacje. Dziękuję ci przy okazji. –

+2

Aktualizacja "Usług Google Play" zrobiła to za mnie. Miałem jednak błąd po zmianie wersji na 9.4.0 z synchronizacją 'gradle'. Musiałem zamknąć 'Android Studio', otworzyć' Menedżera SDK', zaktualizować 'Google Repository'. Po tym działała synchronizacja 'gradle'. –

+0

To jest świetna odpowiedź. Dziękuję Ci. – Neela

Powiązane problemy