什么颜色可用于在 Android 地图上做标记?
有多少种颜色,颜色的代码怎么写?
5 回答
这是我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]);
}
这是制作默认标记的方法
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
详细解答!
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 并使用结果值。
您想要的颜色上的符号!
我几天来一直在寻找这个答案,这是创建自定义标记的正确且简单的方法:
' http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=xxx%7c5680FC%7c000000&.png ' 其中 xxx 是文本,5680fc 是十六进制颜色代码,000000 是文本的十六进制颜色代码。
这些标记是完全动态的,您可以创建任何您想要的气球图标。只需更改网址。
没有人提到的简单解释:
当您设置标记颜色时,您实际上设置x
了HSV(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%)
编码完全相同的颜色来代替。