我尝试将像mysql这样的字符串传递到另一种方法googlemaps:
Double bd_lat;
Double bd_lng;
protected void onCreate(Bundle savedInstanceState) {
bd_lat = Double.parseDouble(object.getString("latitude"));
bd_lng = Double.parseDouble(object.getString("longitude"));
}
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng Bello = new LatLng(bd_lat, bd_lng);
}
但是它显示了这个错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.elgeos.school, PID: 31026
java.lang.NullPointerException: Attempt to invoke virtual method 'double java.lang.Double.doubleValue()' on a null object reference
at com.elgeos.school.MapsTracker.onMapReady(MapsTracker.java:149)
MapsTracker.java:149是下一行:
LatLng Bello = new LatLng(bd_lat, bd_lng);
我不知道我有坏,我是这个
的菜鸟答案 0 :(得分:0)
根据此行的错误,您在代码中遇到NULL指针异常:
new LatLng(bd_lat, bd_lng);
您需要检查这些对象是否包含某些值。
此外,您可以在此处查看以下链接以查看NPE:
答案 1 :(得分:0)
这是因为Double值为null,用null check包装它
@Override
public void onMapReady(GoogleMap googleMap) {
if(bd_lat != null && bd_lng != null){
LatLng Bello = new LatLng(bd_lat, bd_lng);
}
}