0
我有一个简单的Android应用程序与谷歌地图显示当前默认标记。这种做法的好处是,我可以简单的更改标记,这在我的情况下,依赖于时间的颜色/色调的标志将“过期”Android谷歌地图:自定义标记为渐变颜色
bitmapDescriptor = BitmapDescriptorFactory.defaultMarker(this.calculateMarkerHue(msg));
MarkerOptions markerOptions = new MarkerOptions()
.position(new LatLng(...))
.icon(bitmapDescriptor)
.title("Title")
.snippet("Snippet");
private float calculateMarkerHue(Message msg) {
float hue = <calculate some value 0.0..360.0 depending on msg>
return hue;
}
这工作完全正常。但是,现在我想使用自定义标记来支持不同类型的标记。虽然我设法使用其他PNG可绘制来更改标记形状,但我没有成功对颜色进行任何更改。 (不同类型的)drawable,位图,画布,位图描述符的整个概念......我无法得到我的头。
我试过各种我在网上找到的东西,但没有任何工作。要么我得到了铸造错误,空指针异常,或没有错误,但没有关于设置颜色的效果。
这工作。我只添加了'vectorDrawable.setColorFilter(color,PorterDuff.Mode.SRC_ATOP);'这个函数,其中'color'是一个'int'参数,我计算并赋予该函数。唯一的问题是,它会改变整个Drawable的颜色......就像预期的那样。默认标记具有很好的特性,即改变颜色不会影响标记的黑色边框和中心点。 – Christian