【问题标题】:error while locating my current location定位我当前位置时出错
【发布时间】:2013-11-09 05:49:59
【问题描述】:

我正在开发应用程序来获取我在地图上的当前位置并显示最近的地点。 首先我的应用程序正在运行,但相机以固定的 Latlng 运行(我输入了值)但是当我更改代码以使相机位于我当前的位置时..我的手机关机了。 这是我的日志:

11-09 08:38:51.010: E/AndroidRuntime(1641): FATAL EXCEPTION: main
11-09 08:38:51.010: E/AndroidRuntime(1641): java.lang.NullPointerException
11-09 08:38:51.010: E/AndroidRuntime(1641):     at     com.example.buttontest.NearbyActivity.onConnected(NearbyActivity.java:219)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at com.google.android.gms.internal.u.v(Unknown Source)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at com.google.android.gms.internal.u$f.a(Unknown Source)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at com.google.android.gms.internal.u$f.a(Unknown Source)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at com.google.android.gms.internal.u$b.A(Unknown Source)
 11-09 08:38:51.010: E/AndroidRuntime(1641):    at com.google.android.gms.internal.u$a.handleMessage(Unknown Source)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at android.os.Looper.loop(Looper.java:137)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at android.app.ActivityThread.main(ActivityThread.java:4898)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at java.lang.reflect.Method.invokeNative(Native Method)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at java.lang.reflect.Method.invoke(Method.java:511)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
11-09 08:38:51.010: E/AndroidRuntime(1641):     at dalvik.system.NativeStart.main(Native Method)

这是错误的地方

@Override
public void onConnected(Bundle dataBundle) {
    // Display the connection status
    Toast.makeText(this, "Connected", Toast.LENGTH_SHORT).show();
    Location location = mLocationClient.getLastLocation();
    LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 17);
    map.animateCamera(cameraUpdate);
}

【问题讨论】:

  • 因为你的 latLng 是 null 作为 location.getLatitude() & location.getLongitude() 返回 null..

标签: android google-maps location latitude-longitude android-maps-v2


【解决方案1】:

NullPointerException 被抛出是因为你得到的location 可能是Location location = mLocationClient.getLastLocation();null。因此,您可能总是会进行空值检查。

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 2013-12-02
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多