我知道如何更改标记颜色,但是可以使用某种随机生成器将BitmapDecriptorFactory随机化一个,例如
final String [] colours = new String[]{
"HUE_AZURE",
"HUE_BLUE",
"HUE_CYAN",
"HUE_GREEN",
"HUE_MAGENTA",
"HUE_ORANGE",
"HUE_RED",
"HUE_ROSE",
"HUE_VIOLET",
"HUE_YELLOW"
};
final Random r=new Random();
LatLng PERTH = new LatLng(point.latitude, point.longitude);
Marker perth = map.addMarker(new MarkerOptions()
.position(PERTH)
.draggable(true)
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.(r.colours))));
沿着这些方向的东西
答案 0 :(得分:4)
查看documentation for BitmapDescriptor.defaultMarker()
:
public static BitmapDescriptor defaultMarker (float hue)
创建一个引用颜色的位图描述符 默认标记图像。为方便起见,有一组预定义的 色调值。请参见示例
HUE_YELLOW
。参数
hue
标记的色调。价值必须大于或等于 0到小于360。
特别要注意最后一句:“价值必须大于或等于 到0和小于360。“
这意味着选择随机颜色可能很简单:
BitmapDescriptorFactory.defaultMarker(new Random().nextInt(360));
如果您想从预定义的一组颜色中选择一种随机颜色,您可以使用接近现有颜色的颜色:
float[] colours = { BitmapDescriptorFactory.HUE_AZURE, BitmapDescriptorFactory.HUE_BLUE /* etc */ };
BitmapDescriptorFactory.defaultMarker(colours[new Random().nextInt(colours.length)]);