Ho una lista array di una classe personalizzata. Ci sono circa 10 oggetti nella lista, ognuno con dettagli come Titolo, Snippet, LatLng. Ho aggiunto con successo tutti i 10 ad una mappa utilizzando le funzioni di classe personalizzati come getTitle, getSnippet, getLatLng eccDifferenzia tra diversi marcatori in Maps API v2 (identificatori univoci)
Ora, quando si fa clic la finestra di informazioni (del marcatore), voglio essere in grado di sapere in qualche modo che oggetto della mia classe personalizzata corrisponde a quell'indicatore.
Ad esempio, se faccio clic sul mercato di McDonald's, voglio essere in grado di sapere a quale elemento del mio ArrayList è appartenuto quel marcatore.
Ho guardato MarkerOptions e sembra che non ci sia nulla che possa essere utilizzato per identificare l'oggetto personalizzato pertinente con.
Se la domanda è troppo confusa, permettetemi di fare le cose semplici:
ArrayList<CustomObj> objects = blah
map.addMarker(new MarkerOptions().position(new LatLng(
Double.parseDouble(result.get(i).getCompanyLatLng()
.split(",")[0]), Double.parseDouble(result
.get(i).getCompanyLatLng().split(",")[1])))
.title(result.get(i).getCompanyName())
.snippet(result.get(i).getCompanyType())
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.pin)));
Ora, quando questo viene cliccato, vado alla pagina successiva. La pagina successiva ha bisogno di sapere quale oggetto è stato cliccato in modo da poter inviare gli altri dettagli a quella pagina (ad esempio URL immagine che devono essere caricati, ecc.).
Come si aggiunge un numero intero univoco o un identificatore qualsiasi al mio indicatore?
mMap.setOnMarkerClickListener (nuova OnMarkerClickListener() \t \t \t { \t \t \t \t \t \t @Override \t \t \t \t \t \t onMarkerClick public boolean (Marker arg0) { \t \t \t \t \t \t \t se (arg0.getTitle() equals ("marker 1 titolo").) \t \t \t \t \t \t Toast.makeText (MainActivity.this, arg0.getTitle(), 1000) .Show(); \t \t \t \t \t \t \t return true; \t \t \t \t \t \t} \t \t \t \t \t \t \t}); puoi usare marker listener per controllare e usare il titolo per confrontare per sapere quale marker è stato cliccato – Raghunandan
:) I titoli non sono sempre unici nel mio caso e quindi non possono essere utilizzati a questo scopo. – Asim
in questo caso è possibile utilizzare getId(). – Raghunandan