Google Map API for android在使用从资产加载的BitmapDescriptor添加地面覆盖时出现未知源错误

Google Map API for android在使用从资产加载的BitmapDescriptor添加地面覆盖时出现未知源错误,android,google-maps,google-maps-android-api-2,gmsgroundoverlay,Android,Google Maps,Google Maps Android Api 2,Gmsgroundoverlay,我使用下面的代码使用android的api 2将ground ovelay添加到google地图 LatLng ne = currentHole.getNe(); LatLng sw = currentHole.getSw(); LatLngBounds mOverlayBound = new LatLngBounds(ne,sw); BitmapDescriptor mDesc= BitmapDescriptorFactory. fromAsset(curren

我使用下面的代码使用android的api 2将ground ovelay添加到google地图

LatLng ne = currentHole.getNe();
    LatLng sw = currentHole.getSw();
    LatLngBounds mOverlayBound = new LatLngBounds(ne,sw);
    BitmapDescriptor mDesc= BitmapDescriptorFactory.
    fromAsset(currentHole.getGroundOverLay()); GroundOverlayOptions mOverlayOp = new GroundOverlayOptions().image(mDesc).positionFromBounds(mOverlayBound).zIndex(2); mOverlayOp.bearing(0);
    gOverLay = googleMap.addGroundOverlay(mOverlayOp);
所有输入参数都是有效的,当我从资源而不是资产加载BitMapDescriptor时,它工作正常。在最近我接触代码进行一些更改之前,该代码工作正常,然后它开始显示错误,如下所示

02-23 10:07:22.982: W/System.err(3538): java.lang.NullPointerException 

02-23 10:07:22.986: W/System.err(3538): at com.google.k.a.cj.a(Unknown 

       Source) 
02-23 10:07:22.986: W/System.err(3538): at 
        com.google.maps.api.android.lib6.c.dc.<init>(Unknown Source) 
02-23 10:07:22.986: W/System.err(3538): at   com.google.maps.api.android.lib6.c.db.a(Unknown Source) 
02-23 10:07:22.986: W/System.err(3538): at com.google.maps.api.android.lib6.c.eu.<init>(Unknown Source) 
02-23 10:07:22.986: W/System.err(3538): at com.google.maps.api.android.lib6.c.el.a(Unknown Source) 
02-23 10:07:22.986: W/System.err(3538): at com.google.android.gms.maps.internal.l.onTransact(SourceFile:182) 
02-23 10:07:22.986: W/System.err(3538): at android.os.Binder.transact(Binder.java:380) 
02-23 10:07:22.986: W/System.err(3538): at com.google.android.gms.maps.internal.IGoogleMapDelegate$a$a.addGroundOverlay(Unknown Source) 
02-23 10:07:22.986: W/System.err(3538): at com.google.android.gms.maps.GoogleMap.addGroundOverlay(Unknown Source) --
02-23 10:07:22.982:W/System.err(3538):java.lang.NullPointerException
02-23 10:07:22.986:W/System.err(3538):在com.google.k.a.cj.a(未知)
(来源)
02-23 10:07:22.986:W/系统错误(3538):在
com.google.maps.api.android.lib6.c.dc.(未知来源)
02-23 10:07:22.986:W/System.err(3538):在com.google.maps.api.android.lib6.c.db.a(未知来源)
02-23 10:07:22.986:W/System.err(3538):在com.google.maps.api.android.lib6.c.eu(未知来源)
02-23 10:07:22.986:W/System.err(3538):在com.google.maps.api.android.lib6.c.el.a(未知来源)
02-23 10:07:22.986:W/System.err(3538):位于com.google.android.gms.maps.internal.l.onTransact(源文件:182)
02-23 10:07:22.986:W/System.err(3538):位于android.os.Binder.transact(Binder.java:380)
02-23 10:07:22.986:W/System.err(3538):位于com.google.android.gms.maps.internal.igooglemappdelegate$a$a.addGroundOverlay(未知来源)
02-23 10:07:22.986:W/System.err(3538):位于com.google.android.gms.maps.GoogleMap.addGroundOverlay(未知来源)--

我想问题出在线路上

BitmapDescriptor mDesc= BitmapDescriptorFactory. fromAsset(currentHole.getGroundOverLay());

这可能会给你带来NullpointerException。确保将字符串作为存储在项目的Assets目录中的图像传递。可能是
currentHole。getGroundOverLay()
在Assets目录中不是有效的图像,因此它提供了一个空指针。

您只需要在信息窗口中的标记中添加图像吗?上面的代码是添加地面覆盖,当我从资源而不是资源生成BitmapDescriptor时,它可以正常工作。图像路径是完美的,我检查并确认了这一点,您知道这是一个正常工作的代码,但在没有进行任何更改的情况下,它突然开始显示此错误。我怀疑谷歌地图API是否有任何变化。是的,有很多变化。。。但问题是你的logcat没有说任何关于这些的事情。在哪一行获得空指针?gOverLay=googleMap.addGroundOverlay(mOverlayOp);加载BitmapDescriptorFactory时正好在这一行。fromAsset,图像路径和绑定是完美的,它们不为空。