Google Map API для Android выдает неизвестную ошибку источника при добавлении наземного наложения с помощью BitmapDescriptor, загруженного из ресурса
Я использую приведенный ниже код, чтобы добавить наземные оверлеи на карту Google, используя API 2 от Android.
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) --
1 ответ
Я думаю, что проблема с линией
BitmapDescriptor mDesc= BitmapDescriptorFactory. fromAsset(currentHole.getGroundOverLay());
Что, вероятно, дает вам исключение NullpointerException. Убедитесь, что вы просто передаете String как изображение, хранящееся в каталоге assests вашего проекта. Может быть currentHole.getGroundOverLay()
не является допустимым изображением в каталоге ресурсов и, следовательно, оно дает NullPointer.