我目前正在关注有关Uber克隆的教程,并且在这一部分
carMarker = mMap.addMarker(new MarkerOptions()
.position(currentPosition)
.flat(true)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.car)));
我们将汽车的标记添加到当前位置以进行点到点移动,应用程序崩溃,调试器显示“解码图像失败。提供的图像必须是位图”。
“汽车”图像是drawable文件夹中的png文件,我尝试了Custom marker in google maps in android with vector asset icon等解决方案,但实际上没有解决。
有人可以在这里帮助吗?对我来说,看起来一切都很好:图像是png文件,位于可绘制文件夹中,为什么不考虑将其视为位图?
答案 0 :(得分:2)
我找到了答案。将汽车文件粘贴到drawable文件夹中时,Android Studio提供了drawable源文件夹的选项来保存它,默认选项是“ drawable-v24”文件夹aa,而R.drawable则将图像保存在“ drawable”文件夹中。因此,在粘贴图像时需要将其从“ drawable-v24”更改为“ drawable”,这样才能起作用。
答案 1 :(得分:1)
尝试一下。 将PNG图片转换为jpg格式,并确保图片的分辨率不太高。我有相同的经验,然后我将jpg与低分辨率图像一起使用。