0

我使用下面的代碼來添加地面ovelay使用api 2從谷歌地圖。谷歌地圖API爲Android提供未知的源錯誤,同時添加地面覆蓋與從資產加載的BitmapDescriptor

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); 

所有輸入parmeters是有效的,當我從資源而不是資產裝入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) -- 
+0

你只需要添加一個圖像到你的標記在你的infoWindow中? – bjiang 2015-02-23 17:50:54

+0

上面的代碼是添加地面覆蓋圖,當我從資源而不是資產生成BitmapDescriptor時,它工作正常。 – 2015-02-24 05:13:03

回答

0

我認爲這個問題是與線

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

這可能是給你的NullPointerException。確保您只是將String傳遞爲存儲在項目的assests目錄中的圖像。可能是currentHole.getGroundOverLay()不是assests目錄中的有效圖像,因此它提供了NullPointer。

+0

圖像路徑是完美的,我檢查並確認,你知道這是一個工作代碼,但突然沒有做任何改變它開始顯示這個錯誤。我懷疑Google Map API中是否有任何更改。 – 2015-02-24 05:21:38

+0

是啊,有很多變化......但事情是你的logcat不說任何關於這些。你在哪一行得到空指針? – AniV 2015-02-24 17:39:21

+0

gOverLay = googleMap.addGroundOverlay(mOverlayOp);當我加載BitmapDescriptorFactory時,正好在這條線上。 fromAsset,圖像路徑和邊界是完美的,它們不是null。 – 2015-02-25 04:44:36