更改标记颜色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));