如何从Mysql传递LatLng?

时间:2018-01-14 06:07:36

标签: java android

我尝试将像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);

我不知道我有坏,我是这个

的菜鸟

2 个答案:

答案 0 :(得分:0)

根据此行的错误,您在代码中遇到NULL指针异常:

new LatLng(bd_lat, bd_lng);

您需要检查这些对象是否包含某些值。

此外,您可以在此处查看以下链接以查看NPE:

What is NPE and how to fix it?

答案 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);
    }
}