更改标记颜色Android GoogleMaps V2
我正在试着改变记号笔的颜色 我可以通过以下方式完成:更改标记颜色Android GoogleMaps V2,android,google-maps,colors,Android,Google Maps,Colors,我正在试着改变记号笔的颜色 我可以通过以下方式完成: BitmapDescriptorFactory.defaultMarker(float hue) 但我在将RGB颜色转换为色调颜色时遇到问题,我找到了一个解决方案,并在函数中进行了设置: public static float rgbToHue(float r, float g, float b) { r = r/255; g = g/255; b = b/255; float max = Math.ma
BitmapDescriptorFactory.defaultMarker(float hue)
但我在将RGB颜色转换为色调颜色时遇到问题,我找到了一个解决方案,并在函数中进行了设置:
public static float rgbToHue(float r, float g, float b) {
r = r/255;
g = g/255;
b = b/255;
float max = Math.max(r,g);
max = Math.max(max, b);
float min = Math.min(r,g);
min = Math.min(min, b);
float delta = max - min;
float hue = 0;
if(max == r){
System.out.println("r");
hue = 60 * ((g-b)/delta);
}
else if (max == g) {
System.out.println("g");
hue = 60 * (((b-r)/delta)+2);
}
else if (max == b) {
System.out.println("b");
hue = 60 * (((r-g)/delta)+4);
}
System.out.println(hue);
System.out.println("--");
return hue;
}
但是结果并没有真正起作用,我有一些负面的结果(不是在0到360之间)
感谢您的帮助更改标记颜色
默认情况下,地图标记颜色将为红色。谷歌地图为标记提供了一些预定义的彩色图标
//玫瑰色图标
//绿色图标
希望这对您有所帮助。您不能使用RGB中的任何值并将其映射为仅色调。在中,还有两个其他值,它们当前在库内部的某个位置硬编码为全饱和/亮度的一半和全值 欢迎您在上发布该功能的功能请求
我还建议不要使用默认的
标记
图标,而是创建自己的图标。是的,我知道,但我想从rgb获得我的颜色,而不是定义的颜色是的,我认为这是最好的方法
marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));