【问题标题】:NullPointer when trying to addMarker with custom icon尝试使用自定义图标添加标记时出现空指针
【发布时间】:2016-11-04 08:21:21
【问题描述】:

如果我不向标记添加自定义图标,我可以在我的地图片段上添加标记。我可以更改标记的颜色,应用程序将运行良好。

这是标记 sn-p:

 BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.ic_navigation_black_24dp);
 lat = 37.476696;
 lng = -122.195791;
 markerOptions = new MarkerOptions()
         .position(new LatLng(lat, lng))
         .title("You")
         .icon(icon);
 Marker driverMarker = googleMap.addMarker(markerOptions);
 markers.add(driverMarker);

我在 onMapReady 的 getMapAsync 中创建并添加标记。

这是错误日志

java.lang.NullPointerException
at maps.f.g.a(Unknown Source)
at maps.af.g$a.<init>(Unknown Source)
at maps.af.g.a(Unknown Source)
at maps.af.R.<init>(Unknown Source)
at maps.af.t.a(Unknown Source)
at vl.onTransact(:com.google.android.gms.DynamiteModulesB:167)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.maps.internal.IGoogleMapDelegate$zza$zza.addMarker(Unknown Source)
at com.google.android.gms.maps.GoogleMap.addMarker(Unknown Source)
at com.sample.app.fragment.CustomerFragment$1.onMapReady(CustomerFragment.java:135)

第 35 行在哪里

Marker driverMarker = googleMap.addMarker(markerOptions);

我检查了 markerOptions 和 googleMap 是否不为空且它们不为空。所以我不确定是什么问题。

【问题讨论】:

  • 你确定icon 不为空吗?
  • 是的 icon 也不为空。并且drawable存在于我的drawable文件夹中。我还尝试加载我的可绘制文件夹中的 png 文件,并且该文件有效。但我无法加载矢量资产,即在 Vestor Asset Studio 中找到的 ic_navigation_black_24dp.xml。
  • 如果您可以重现此错误,并在尚未经过 ProGuarded 的版本中进行,那么调试起来会容易得多。

标签: android google-maps


【解决方案1】:

gmaps-api-issues tracker 中实际上存在相关问题,Issue 7696 Issue 9011,根据线程尚未完全修复。

但是,您也可以检查给定的解决方法,看看它是否适用于您。我希望它有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 2013-06-24
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    相关资源
    最近更新 更多