我正在尝试更改地图上标记的颜色。我想要一个普通标记的形状,但使用自定义颜色。我已经尝试了以下代码,但它没有做任何颜色变化,也没有给出任何错误。您能指导任何解决方案或任何替代方法吗?任何帮助都将受到高度赞赏。
代码:
Drawable background = context.getResources().getDrawable(R.drawable.pink_map);
if (background instanceof ShapeDrawable) {
((ShapeDrawable)background).getPaint().setColor(getResources().getColor(R.color.theme_color));
} else if (background instanceof GradientDrawable) {
((GradientDrawable)background).setColor(getResources().getColor(R.color.theme_color));
}
// convert drawable to bitmap
Bitmap bitmap = ((BitmapDrawable) background).getBitmap();
Marker marker = mMap.addMarker(new MarkerOptions().position(sydney)
.title("My Location")
.icon(BitmapDescriptorFactory.fromBitmap(bitmap))
答案 0 :(得分:2)
这对我有用:
mMap.addMarker(new MarkerOptions()
.position(contactLatLng)
.title(contactName)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_map_blue))
);
答案 1 :(得分:1)
请尝试此代码
BitmapDescriptor bitmapDescriptor
= BitmapDescriptorFactory.fromResource(
(int) BitmapDescriptorFactory.HUE_AZURE);
mMap.addMarker(new MarkerOptions()
.position(sydney)
.title("My Location")
.snippet("and snippet")
.icon(bitmapDescriptor);
如果不起作用,请从GDC
检查此备用库