2013-09-29 7 views

risposta

46

Questo è come fare un marcatore di default

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE) 
    .icon(BitmapDescriptorFactory 
     .defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); 

e queste sono le costanti è possibile utilizzare

float HUE_AZURE 
float HUE_BLUE  
float HUE_CYAN  
float HUE_GREEN 
float HUE_MAGENTA 
float HUE_ORANGE 
float HUE_RED 
float HUE_ROSE  
float HUE_VIOLET 
float HUE_YELLOW 
+2

solo dieci colori? – kucluk

+0

questo è ciò che dice https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory – JRowan

+1

Questi sono solo alcuni toni predefiniti. Poiché il metodo 'defaultMarker()' accetta un 'float', puoi fornire qualsiasi valore all'interno di un intervallo di' [0 ... 360] '. –

9

risposta dettagliata!

float hue = 120; //(Range: 0 to 360) 

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE) 
    .icon(BitmapDescriptorFactory 
     .defaultMarker(hue))); 

si può dare alcun valore di tonalità che vanno da 0 a 360, alcune costanti sono definite qui (https://developers.google.com/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory)

MODO MIGLIORE! per trovare la tonalità richiesta (che corrisponde al colore richiesto).

Apri questa immagine defult_pin nell'editor Paint.Net/Photoshop (o altro)

Goto opzioni di tonalità nel Photo Editor e la tonalità di diapositive bar e notare valore di tonalità migliore abbinato.

  • Per Paint.net (Regolazioni -> Tonalità/Saturazione)

  • Per Photoshop (Fotografia -> Regolazioni -> Tonalità/Saturazione)

Se il valore è superiore a 0, utilizzare esatto valore , se il valore è inferiore a 0, prendere postivie (assoluto) di valore, aggiungerlo a 180 e utilizzare il valore del risultato.

enter image description here

+0

C'è un antico strumento chiamato GetColor.Lo uso ancora oggi! Controlla. http://www.wincatalog.com/getcolor.html –

52

Qui è un metodo che sto usando per generare colori dinamici Hue per gli indicatori basati su determinato colore String.

possono essere utili per qualcuno :)

Marker melbourne = mMap.addMarker(new MarkerOptions().position(MELBOURNE) 
.icon(getMarkerIcon("#ff2299"))); 

// method definition 
public BitmapDescriptor getMarkerIcon(String color) { 
    float[] hsv = new float[3]; 
    Color.colorToHSV(Color.parseColor(color), hsv); 
    return BitmapDescriptorFactory.defaultMarker(hsv[0]); 
} 
+0

ma crea colore chiaro e il colore effettivo è più scuro –

0

simbolo desiderato sul colore che volete!

ero alla ricerca di questa risposta per giorni e qui è il diritto e il modo più semplice per creare un marker personalizzato:

'http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=xxx%7c5680FC%7c000000&.png' dove xxx è il testo e 5680fc è il codice esadecimale del colore e 000000 è il codice colore esadecimale del testo.

Questi indicatori sono totalmente dinamici e puoi creare qualsiasi icona di palloncino che desideri. Basta cambiare l'URL.