Google Maps自定义颜色标记:BitmapDescriptorFactory Hue参数疑问
解决Google Maps自定义颜色标记的Hue值问题
嘿,我来帮你搞定这个困惑!你遇到的问题其实是对HSL分量和Google Maps所需参数的误解,咱们一步步理清楚:
核心关键点:
BitmapDescriptorFactory.defaultMarker()只需要HSL里的第一个值
你从转换器得到的(76,100,27.8)是HSL的三个分量:色相(Hue)=76,饱和度(Saturation)=100%,亮度(Lightness)=27.8%。而Google Maps的defaultMarker(float hue)方法只需要色相角度值(范围0-360),所以直接用76就可以了!代码示例
把这个色相值传入方法,就能得到接近#678E00颜色的标记:// 创建自定义颜色标记 Marker customMarker = mMap.addMarker(new MarkerOptions() .position(new LatLng(你的纬度, 你的经度)) .title("我的自定义标记") .icon(BitmapDescriptorFactory.defaultMarker(76)));额外补充:如果想要完全匹配的颜色
如果你觉得默认的饱和度和亮度不够贴合#678E00,那可以自己创建自定义Bitmap来实现精准匹配的颜色,而不是依赖defaultMarker()。不过大多数场景下,只用色相值就能得到足够接近预期的标记颜色啦。
内容的提问来源于stack exchange,提问作者Analizer
相关产品推荐
相关产品推荐

