Autore Topic: Immagini Marker  (Letto 607 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1227
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Immagini Marker
« il: 14 Novembre 2015, 14:17:06 CET »
0
Salve a tutti. Mi è stato chiesto di creare una mappa, posizionare statici marker (in futuro presi da api) con delle informazioni.

Da quello che so e da quello che ho sviluppato sono giunto a tali affermazioni:
Un marker ha di default il robino rosso. Un marker può avere titolo snippet associati. Purtroppo impostando tali valori chiamando metodi di un oggetto Marker, o MarkerOptions, i valori compaiono solo su uno dei marker disposti nella mappa.
Si può usare un immagine al posto di quella di default. Il tutto funziona. Il metodo è sempre un .setIcon() su un oggetto di tipo Marker/MarkerOption.
Googlando un po ho scoperto che è possibile assegnare una View da noi creata, e fare un inflate per settare gli attributi nelle sottoView. Il mio layout quindi ha una ImageView e due TextView.
Ricavo la view con inflate, e poi setto i testi alle 2 TextView.

Infine si riesce ad assegnare il tutto sempre tramite .setIcon come detto prima. Ma sta volta bisogna in qualche modo ricavare un bitmap da una view (ho usato codice preso on line).
In questo scenario ogni marker sulla mappa ha la propria immagine e il proprio titolo. Proprio quello che mi serviva. Purtroppo tale metodo non permette la modifica dei markers. Poiché abbiamo ricavato un bitmap da una view, anche se andassimo a settare nuovi parametri alle 2 texview il cambiamento ovviamente non si riflette sui markers.
E la stessa cosa vale per Picasso o altra libreria simile.
Essendo una chiamata asincrona, il bitmap generato dalla view, avviene prima che Picasso riesca ad assegnare un immagine (ok con immagini locali riesce). In futuro al posto di immagini casuali dovrò usare immagini di profili facebook.
Ho anche provato a seguire alcuni tutorial mirati a Picasso+Markers. Si fa uso di un tag da assegnare appunto a Picasso con .setTag().
In questo ultimo scenario coi Tag, 5 volte su 10 le immagini (solamente 2 link per icone maschio/femmina) vengono caricate correttamente. le altre 5 volte no. E Picasso chiama comunque onBitmaploaded() senza generare errori.  Eppure qualche icona manca nei vari markers. Inoltre in questo scenario non abbiamo creato Bitmap da view, per cui ogni marker ha solo la sua immagine custom senza mostrare le due scritte delle textview.

Come potrei fare?