我想获取当前位置并将摄像机移动到当前位置,然后将当前位置(LatLng)保存到我的数据库中

我获得了ACCESS_FINE权限
并使用以下代码,但应用程序已停止工作

double lat = map.getMyLocation().getLatitude();
        double lng = map.getMyLocation().getLongitude();
LatLng cur = new LatLng(lat,lng);
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(cur, 17));


android log cat:

java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference

最佳答案

getMyLocation(),不建议使用此方法。
尝试这个:

 LocationManager locationManager = (LocationManager)
                     getSystemService(Context.LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    Location location = locationManager.getLastKnownLocation(locationManager
   .getBestProvider(criteria, false));
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();

关于java - 准备好当前位置的纬度和经度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46559582/

10-16 09:51