我正在写一个使用谷歌Map的Android应用程序,现在我的目标是从用户请求位置权限,然后检索他的坐标,根据谷歌搜索我发现以下选项:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = location -> {
lat = location.getLatitude();
lon = location.getLongitude();
};
if(ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
} else {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,1,locationListener);
}
System.out.println("lon + lat"+ lat + " " + lon);
问题是它没有进入locationListener函数,我试着打印纬度和经度的结果,结果是0.0,0.0。
纬度和经度,我得到了0.0
1条答案
按热度按时间pgvzfuti1#
在www.example.com中添加依赖项gradle.app
Kotlin
您可以使用FusedLocationProviderClient获取用户的当前位置,如下所示
在**onCreate()**方法中
最后一个位置返回当前可用的最新历史位置。
java
使用resultLauncher对象请求位置权限。