初次使用百度地图Demo的定位功能
当打开流量,WiFi,GPS发现都定位到了几内亚湾,无法正确定位
如下图:
解决方法:
在new LocationClient(getApplicationContext());之前加入如下代码来获取权限
//在new LocationClient(getApplicationContext());之前加入如下代码
List<String> permissionList = new ArrayList<>();
if (ContextCompat.checkSelfPermission(LocationActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(Manifest.permission.ACCESS_FINE_LOCATION);
}
if (ContextCompat.checkSelfPermission(LocationActivity.this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(Manifest.permission.READ_PHONE_STATE);
}
if (ContextCompat.checkSelfPermission(LocationActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
if (!permissionList.isEmpty()) {
String[] permissions = permissionList.toArray(new String[permissionList.size()]);
ActivityCompat.requestPermissions(LocationActivity.this, permissions, 1);
}
locationClient = new LocationClient(getApplicationContext());
//注册监听函数
locationClient.registerLocationListener(myLocationListener);
此时,app只是拿到了你的定位权限,GPS定位<即我的位置>还是得手动开启
再次运行,即可正确定位
参考:
https://blog.youkuaiyun.com/LBW9368/article/details/84940008