【发布时间】:2017-07-17 10:37:57
【问题描述】:
美好的一天!
我目前正处于两难境地,我的代码在我的一台 Android 设备上运行,但在另一台设备上强制关闭。
根据我的 logcat,这是错误:
02-27 06:37:29.134 23579-23579/com.example.maui.dabtrain E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference
at com.example.maui.dabtrain.MainActivity.onMapReady(MainActivity.java:504)
at com.google.android.gms.maps.SupportMapFragment$zza$1.zza(Unknown Source)
at com.google.android.gms.maps.internal.zzt$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:507)
at com.google.android.gms.maps.internal.bw.a(:com.google.android.gms.DynamiteModulesB:82)
at com.google.maps.api.android.lib6.impl.bf.run(:com.google.android.gms.DynamiteModulesB:1805)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
这是我所在位置的代码:
gMap = googleMap;
if(!gMap.isMyLocationEnabled())
gMap.setMyLocationEnabled(true);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location myLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (myLocation == null) {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = lm.getBestProvider(criteria, true);
myLocation = lm.getLastKnownLocation(provider);
}
LatLng userLocation = new LatLng(myLocation.getLatitude(), myLocation.getLongitude());
gMap.animateCamera(CameraUpdateFactory.newLatLngZoom(userLocation, 13), 1500, null);
其余代码用于 Google 标记、折线、半径等。
感谢您的宝贵时间!
【问题讨论】:
-
试试看这个,
mylocationreturn nullhttp://stackoverflow.com/questions/20438627/getlastknownlocation-returns-null -
@Rotwang - 请您指导我该怎么做?谢谢。
-
与所有 NPE 一样,在尚未实例化时找到您正在引用的对象。在使用它之前先实例化它。
标签: android google-maps nullpointerexception location