[英]LatLng gives null pointer exception
我正在 android studio 上使用谷歌地圖。 問題是當我訪問 DriverLatLng 在 onLocationChanged 之外,它給了我空指針異常。 我的 onLocationChanged 方法如下:-
@Override
public void onLocationChanged(Location location) {
LastLocation = location;
double lat = LastLocation.getLatitude();
double lon = LastLocation.getLongitude();
DriverLatLng = new LatLng(lat,lon);
Log.v("data", DriverLatLng.toString());
mMap.moveCamera(CameraUpdateFactory.newLatLng(DriverLatLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(15));
}
現在,當我在其他任何地方使用 DriverLatLng 時
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.android.gms.maps.model.LatLng.toString()' on a null object reference
在使用DriverLatLng
之前,請確保location
、 lat
和lon
不為空。
嘗試這個:
@Override
public void onLocationChanged(Location location) {
LastLocation = location;
double lat = LastLocation.getLatitude();
double lon = LastLocation.getLongitude();
if(lat == null || lon == null){
Log.v("nulls", "lat and/or lon are null");
} else{
DriverLatLng = new LatLng(lat,lon);
Log.v("data", DriverLatLng.toString());
mMap.moveCamera(CameraUpdateFactory.newLatLng(DriverLatLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(15));
}
}
另請注意,不推薦使用 GoogleApiClient。 您需要使用GoogleApi 。 看看這篇文章。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.