2016-02-04 7 views
17

Sto provando a impostare suInfoWindowClickListener per ciascun indicatore che ha colpito l'API correlata in base all'ID POJO. Questo è quello che ho trovato per l'impostazione sull'eventoInfoWindowClick.Come impostare il tag sul marker di Google Map in Android?

googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() { 

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

     } 
    }); 

ma ho bisogno di impostare relativi ids POJO come tag per marcatori legati prima di me googleMap.addMarker(marker). Ma non esiste una cosa come marker.setTag(). Come posso inserire il mio ID senza impostare il tag?

+1

Utilizzare 'HashMap' e memorizzare' ID marcatore' e 'Pojo Id' –

+0

come ottenere l'identificativo del marcatore? –

+0

non c'è marker.setID (""), marker.getID(), anche ..: 3 –

risposta

5

Ho un modo. Basta creare HashMap sia con il principale Marker e un altro con POJO Class e ottenere indietro la vostra POJO Class basato su particolari Marker cliccato su getInfoContents(.....)

46

ora si può fare in questo modo

Aggiornamento di Google versione del service gioco per

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

Questa è una preziosa informazione. Grazie a proposito. –

+2

L'aggiornamento di 'Google Play Services' ha funzionato per me. Ho comunque avuto un errore dopo aver cambiato la versione in 9.4.0 con la sincronizzazione di 'gradle'. Ho dovuto chiudere 'Android Studio', aprire' SDK Manager', aggiornare 'Google Repository'. Dopo questa sincronizzazione 'gradle' ha funzionato. –

+0

Questa è un'ottima risposta. Grazie. – Neela