Cambia icona del marcatore durante il runtime

C'è un modo per cambiare l'icona del marcatore Android API v2 di Google Maps durante il runtime senza rimuovere / riaggiungere il marcatore che voglio modificare l'icona? Posso applicare trasformazioni ad esso (come la rotazione)?

Grazie.

  • Vista personalizzata della linea di limite in MPAndroidChart
  • Come impostare un carattere personalizzato nel titolo ActionBar?
  • Avvio di Google Open Oldsense di Google OpenSSL
  • La vista di frammento di v2 di Google Maps visualizza gli sfarfallamenti quando si cambia la width
  • come creare una cartella in Directory di archiviazione esterna android?
  • Qual è lo scopo di IntentSender?
  • Disegnare bitmap scalabili su un SurfaceView - nessun antialiasing
  • Modifica la politica di reindirizzamento di Volley Framework
  • Non è stata trovata alcuna implementazione per l'errore long org.opencv.core.Mat.n_Mat () Utilizzo di OpenCV
  • Come get il centro della mappa per le mappe Android v2?
  • WebView visualizza lo schermo nero
  • Cambiare DisplayName in Firebase
  • 5 Solutions collect form web for “Cambia icona del marcatore durante il runtime”

    Attualmente non è ansible modificare il marcatore durante il runtime, né applicare la rotazione ad esso.

    È ansible utilizzare una soluzione però – sto lavorando su una class BlinkingMarker where devo regolare l'opacità dell'image marcatore in fase di runtime.

    L'unica soluzione in questo momento è creare Bitmap con differenti rotazioni e quindi aggiungerli / rimuoverli periodicamente. Il problema di questa soluzione è che l'aggiunta / rimozione di marcatori richiede una quantità di allocazione della memory in modo da risultare in una costante raccolta di rifiuti. Una soluzione migliore e più liscia è creare tutte le tue foto in primo piano e aggiungerle tutte alla mappa contemporaneamente. Dopo di che è ansible utilizzare la function Marker.setVisible(boolean) per visualizzare quella che è necessaria.

    Attenzione: misurare le bitmap prima di farlo, perché l'aggiunta di molte bitmap grandi può causare la crescita della dimensione della memory dell'applicazione.

    Puoi vedere la mia soluzione alternativa qui: https://github.com/balazsbalazs/blinking-marker-mapsv2

    Questo è un marker che lampeggia (cambia l'opacità della bitmap) ma sulle stesse righe è ansible applicare qualsiasi tipo di trasformazione.

    Sono in grado di modificare le icone dei marcatori in runtime, subito dopo l'aggiornamento a Google Play Services Rev 7

    Marker.setIcon (icona BitmapDescriptor)

    è disponibile, in precedenza ho rimosso e aggiungo un marcatore per cambiarne il colore.

    I documenti sono molto chiari su questo tema –

     Icon A bitmap that's displayed in place of the default marker image. You can't change the icon once you've created the marker. 

    Se si desidera visualizzare la modifica del marcatore, sono disponibili alcune opzioni. Uno è, come noto, per eliminare il marcatore e aggiungere un altro. L'altro è quello di piazzare più marcatori nella stessa posizione e cambiare quale sia visibile in un dato momento.

    Posso applicare trasformazioni ad esso (come la rotazione)?

    È ansible applicare qualsiasi trasformazione che ti piace sull'image prima di utilizzarla per creare l'indicatore.

    Nel rilascio di Android API v2 di Google Maps 2013 , ora esiste un nuovo metodo setRotation() per i marcatori, insieme ad un nuovo metodo setFlat() .

    Ecco la descrizione di Google delle nuove funzionalità:

    Dai ai tuoi marcatori un senso di direzione

    Abbiamo aggiunto una properties; di rotazione del marcatore per consentire di ruotare un marcatore intorno al punto di ancoraggio. La nuova properties; piatta consente di rendere il segnalino piatto sulla superficie della mappa, piuttosto che sfogliare per affrontare la camera. Queste due nuove properties; sono particolarmente utili per indicare le direzioni della bussola quando la mappa viene ruotata o inclinata.

    Ecco un articolo che descrive le nuove funzionalità.

    Per modificare l'icona del marcatore selezionato in fase di esecuzione, basta aggiungere

      @Override public boolean onMarkerClick(Marker marker) { Marker.setIcon (BitmapDescriptor icon); } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.