2013-09-29 111 views

回答

46

這是如何使默認標記

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

而這些都是常量,你可以使用

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

只有十種顏色? – kucluk

+0

多數民衆贊成在說什麼是https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory – JRowan

+1

這些只是一些預定義的色調。由於'defaultMarker()'方法採用'float',因此可以在'[0 ... 360]'範圍內提供任何值。 –

9

詳細的解答!

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

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

你可以給任何色調值範圍從0到360,一些常量在這裏被定義(https://developers.google.com/android/reference/com/google/android/gms/maps/model/BitmapDescriptorFactory

最佳途徑。找到所需的色調(匹配您所需的顏色)。

打開此圖像defult_pin在Paint.Net/Photoshop編輯器(或其他)在你的照片編輯器和幻燈片色調條

轉到色彩選項,並注意最佳匹配的色調值。

  • 對於Paint.net(調整 - >色相/飽和度)

  • 的Photoshop(攝影 - >調整 - >色相/飽和度)

如果值高於0,使用完全值爲 ,如果值低於0,則取值爲postivie(absolute),將其添加到180並使用結果值。

enter image description here

+0

有一種叫做GetColor的古老工具。我今天仍然使用它!一探究竟。 http://www.wincatalog.com/getcolor.html –

52

這裏是我用來生成動態Hue顏色的基礎上給出String顏色標記的方法。

可能對別人有用:)

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

但創建淺色和實際顏色較暗 –