gpt4 book ai didi

java - marker.setIcon 抛出 java.lang.IllegalArgumentException : Unmanaged descriptor

转载 作者:搜寻专家 更新时间:2023-11-01 02:37:30 30 4
gpt4 key购买 nike

我在更改 googlemap 上的 googlemap 标记时遇到问题。

这个方法不行

MarkerOptions markerOptions = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(MarkerManager.getBitmapFromVectorDrawable(context, R.drawable.marker_no_issues)));
marker.setIcon(markerOptions.getIcon());

也不是这个

marker.setIcon(BitmapDescriptorFactory.fromBitmap(MarkerManager.getBitmapFromVectorDrawable(context, R.drawable.marker_no_issues)));

方法 getBitmapFromVectorDrawable:

public static Bitmap getBitmapFromVectorDrawable(Context context, int drawableId) {
Drawable drawable = AppCompatDrawableManager.get().getDrawable(context, drawableId);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
drawable = (DrawableCompat.wrap(drawable)).mutate();
}

Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);

return bitmap;
}

我做错了什么?为什么我不能用 setIcon 方法更改标记图标。我也尝试过原始 .png 文件,我知道 vector 到位图效果很好。

最佳答案

我遇到了同样的问题,解决方法如下 -在将图标设置为标记对象之前,只需检查标记在 googlemap 上是否仍然可见如果您已清除 map 并将图标设置为 map 上的此标记对象,会导致这个错误

在那种情况下,只需创建另一个新对象,而不是通过 setter 方法更新同一个对象

关于java - marker.setIcon 抛出 java.lang.IllegalArgumentException : Unmanaged descriptor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44101664/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com