2013-09-29 17 views

Odpowiedz

46

To jak zrobić domyślny znacznik

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

a te są stałymi można użyć

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

tylko dziesięć kolorów? – kucluk

+0

To co jest napisane https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory – JRowan

+1

To tylko kilka predefiniowanych kolorów. Ponieważ metoda 'defaultMarker()' przyjmuje 'float', możesz podać dowolną wartość z zakresu' [0 ... 360] '. –

9

szczegółową odpowiedź!

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

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

można nadać dowolną wartość barwy w zakresie od 0 do 360, niektóre stałe są tu zdefiniowane (https://developers.google.com/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory)

BEST WAY! aby znaleźć wymagany odcień (który pasuje do wymaganego koloru).

Otwórz ten obraz defult_pin w edytorze Paint.Net/Photoshop (lub inny)

Goto opcji odcień twojej Photo Editor i odcienia Suwak i zanotować wartość barwy najlepiej dopasowanej.

  • Dla Paint.net (korekty -> Barwa/Nasycenie)

  • Dla Photoshop (Fotografia -> Adjustments -> Hue/Nasycenie)

jeśli wartość jest wyższa niż 0, należy dokładny wartość , jeśli wartość jest niższa niż 0, weź postivie (bezwzględne) wartości, dodaj ją w 180 i użyj wartości wyniku.

enter image description here

+0

Istnieje starożytne narzędzie o nazwie GetColor.Nadal używam tego już dziś! Sprawdź to. http://www.wincatalog.com/getcolor.html –

52

Oto metoda używam do generowania dynamicznych Hue kolory markerów opartych na danym String koloru.

Może być przydatna dla kogoś :)

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

, ale tworzenie jasnego koloru i faktycznego koloru jest ciemniejsze –

0

symbol, który ma na kolor chcesz!

szukałem tej odpowiedzi przez kilka dni i to jest tutaj prawo i łatwy sposób na stworzenie własnego markera:

http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=xxx%7c5680FC%7c000000&.png”, gdzie xxx jest tekst i 5680fc jest kod koloru szesnastkowy i 000000 jest szesnastkowy kod koloru tekstu.

Znaczniki te są całkowicie dynamiczne i można utworzyć dowolną ikonę balonu. Po prostu zmień adres URL.

Powiązane problemy