Android地图标记颜色?

时间:2013-09-29 08:50:13

标签: android colors google-maps-android-api-2 marker

在Android地图上制作标记的颜色是什么?
有多少种颜色以及如何编写颜色代码?

5 个答案:

答案 0 :(得分:66)

以下是我用于根据给定的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]);
}

答案 1 :(得分:57)

这是如何制作默认标记

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 :(得分:14)

详细解答!

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

最好的方式!找到所需的色调(符合您要求的颜色)。

在Paint.Net/Photoshop编辑器(或其他)中打开此图像defult_pin

在照片编辑器中转到色调选项并滑动色调条并记下最佳匹配的色调值。

  • Paint.net(调整 - >色调/饱和度)

  • 对于Photoshop(摄影 - >调整 - >色调/饱和度)

如果值大于0,请使用精确值 ,如果值小于0,取值为postivie(绝对值),将其加到180并使用结果值。

enter image description here

答案 3 :(得分:1)

您想要的颜色符号!

我几天来一直在寻找这个答案,这里是创建自定义标记的正确方法:

'http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=xxx%7c5680FC%7c000000&.png'其中xxx是文本,5680fc是十六进制颜色代码,000000是文本的十六进制颜色代码。

这些标记是完全动态的,你可以创建你想要的任何气球图标。只需更改网址即可。

答案 4 :(得分:0)

没有人提及的简单解释:

设置标记颜色时,实际上是设置x的{​​{1}}值

  • 打开任何在线版本here的HEX / RGB到HSV转换器
  • 将HEX / RGB转换为HSV
  • (H)ue是您在HSV(x, 100%, 100%)中使用的x
  • Google Maps API将
  • (S)饱和度设置为100%
  • Google Maps API将
  • (V)alue设置为100%

以上内容还意味着您无法以此方式设置任何标记颜色。为了将任何颜色表示为HSV,还应该更改(S)和(V),但Google Maps API不允许将其用作默认标记-它使用常量值“ 100%”。

如果要查看标记的外观,请打开任何HSV转换器(在线版本here),将(H)设置为您在上方获得的BitmapDescriptorFactory.defaultMarker(x)值,(S)饱和度和(V)达到100%。

注意: 另外,也可以使用x代替HSV(x, 100%, 100%),它可以编码完全相同的颜色。