【问题标题】:google map android - cannot set map icon from BitmapDescriptorFactory.fromAssetgoogle map android - 无法从 BitmapDescriptorFactory.fromAsset 设置地图图标
【发布时间】:2018-02-21 06:08:43
【问题描述】:

我正在尝试使用作为.bmp 文件提供的标记图像来使用自定义标记。我正在使用 Flutter 构建跨平台应用程序,这是 Android 的本机代码。该图像来自颤振项目中 pubspec.yaml 中的资产。

  marker = map
       .addMarker(MarkerOptions()
       .position(annotation.coordinate)
       .title(annotation.title)
       .icon(BitmapDescriptorFactory.fromAsset("lib/green_circle.bmp")))

我收到了上面代码的错误消息:

com.google.maps.api.android.lib6.common.apiexception.b:未能 解码图像。提供的图像必须是位图。

我检查了图像,它是 bmp

【问题讨论】:

  • 仔细检查图像文件,我认为图像有问题
  • bmp?将其设为 png 或 jpg(不确定 webp)
  • @pskink 我使用 .bmp 因为它要求位图图像
  • 所以将其转换为.png.jpg(不确定.webp
  • 我尝试了.png.jpg,但得到了同样的错误

标签: android kotlin flutter


【解决方案1】:

它处理图像的方式似乎存在问题。它确实接受 png、jpg 和 bmp,因为我已经对所有这些文件进行了测试,但我对这些格式的某些文件(png 和 bmp)也有同样的问题。

我所做的是在另一个图像编辑器上打开一些文件,覆盖这些文件,然后它就可以工作了。奇怪的是,这些文件是 Adob​​e Photoshop 中的普通 png 图标,但它们不起作用。

如果您有任何问题或疑问,可以尝试使用其他来源的文件进行调试,或者编辑并再次保存。

【讨论】:

    【解决方案2】:

    由于不同的原因,我收到了相同的错误消息。我的文件很好,但我提供的文件路径不正确。

    确保目录和文件名正确!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多