繁体   English   中英

如何在Android中将当前位置作为经度和纬度?

[英]How can I get the current location as a latitude and longitude in Android?

我正在尝试使用模拟器返回当前位置的纬度和经度。 我收到一个错误,我需要允许ACCESS_FINE_LOCATION,即使它已经在我的清单文件中了。 有谁知道为什么以下代码即使在清单文件中也无法使用呢?

提前致谢!

我尝试使用fusedLocationClient也有一个版本,但是我认为这没有任何作用,因为我的位置没有改变。

此代码的目的是将纬度和经度方面的当前位置显示为烤面包。

    public void displayCurrentLocation(View view){

        LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        double longitude = location.getLongitude();
        double latitude = location.getLatitude();
        Toast.makeText(getApplicationContext(),"Latitude:" + latitude + " Longitude:" + longitude,Toast.LENGTH_SHORT);

//        fusedLocationClient.getLastLocation()
//                .addOnSuccessListener(this, new OnSuccessListener<Location>() {
//                    @Override
//                    public void onSuccess(Location location) {
//                        double longitude = location.getLongitude();
//                        double latitude = location.getLatitude();
//                        Toast.makeText(getApplicationContext(),"Latitude:" + latitude + " Longitude:" + longitude,Toast.LENGTH_SHORT);
//                        if (location != null) {
//                            // Logic to handle location object
//                        }
//                    }
//                });

    }

如果您的应用需要危险的权限,则每次执行需要该权限的操作时,都必须检查您是否具有该权限。 从Android 6.0(API级别23)开始,用户可以随时撤消任何应用程序的权限,即使该应用程序定位于较低的API级别也是如此。

有关更多信息,请参阅文档

这意味着您应该在用户每次使用该功能时要求您的许可。

这是一个例子

if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) ==
    PackageManager.PERMISSION_GRANTED &&
    ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) ==
    PackageManager.PERMISSION_GRANTED) {
    //here you do your code for getting latLng
}
else {
  ActivityCompat.requestPermissions(this, new String[] {
  Manifest.permission.ACCESS_FINE_LOCATION, 
  Manifest.permission.ACCESS_COARSE_LOCATION }, 
  TAG_CODE_PERMISSION_LOCATION);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM