【发布时间】: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