41

什么颜色可用于在 Android 地图上做标记?
有多少种颜色,颜色的代码怎么写?

4

5 回答 5

76

这是我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]);
}
于 2015-10-09T10:55:31.210 回答
67

这是制作默认标记的方法

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
于 2013-09-29T09:00:50.580 回答
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 编辑器(或其他)中打开此图像

转到照片编辑器中的色调选项并滑动色调栏并注意最佳匹配的色调值。

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

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

如果值大于 0,则使用精确值,如果值小于 0,则取值的后置(绝对值),将其添加到 180 并使用结果值。

在此处输入图像描述

于 2015-07-11T13:33:12.357 回答
1

您想要的颜色上的符号!

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

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

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

于 2017-12-29T11:46:01.627 回答
0

没有人提到的简单解释:

当您设置标记颜色时,您实际上设置xHSV(x, 100%, 100%)

  • 在此处打开任何 HEX/RGB 到 HSV 转换器,在线版本
  • 将您的 HEX/RGB 转换为 HSV
  • (H)ue 是x你使用的值BitmapDescriptorFactory.defaultMarker(x)
  • (S) 饱和度将由 Google Maps API 设置为 100%
  • (V) 值将由 Google Maps API 设置为 100%

以上也意味着您不能以这种方式设置任何您希望的标记颜色。要将任何颜色表示为 HSV,还应更改 (S) 和 (V),但 Google Maps API 不允许将其用作默认标记 - 它使用常量值“100%”。

如果您想查看标记的外观,请打开任何 HSV 转换器(此处为在线版本),将 (H)ue 设置为上述x值,将 (S)aturation 和 (V)alue 设置为 100%。

注意HSV(x, 100%, 100%):或者,您可以使用HSL(x, 100%, 50%)编码完全相同的颜色来代替。

于 2020-05-23T19:30:27.243 回答