Android集成百度定位踩坑及填坑记录

Bambi ·
更新时间:2024-11-14
· 627 次阅读

应项目需求,调研了市面上集中不错的定位选择,

百度地图集成成本极低,首先,它免费,官网文档清晰,demo明确,所以选定百度定位。但还是有很多坑要踩,在我集成百度地图的时候,坑也非常多,在这里,我将详述百度地图集成步骤。

一、申请平台AK
在这里插入图片描述
需要开发版SHA1码 和 发布版SHA1码
用cmd 进入 .android 获取开发版
生成链接方式:
链接地址:https://blog.csdn.net/wangyonghao132/article/details/105562047
发布版也就是签名文件的SHA1
链接地址: https://blog.csdn.net/wangyonghao132/article/details/105562047

二、按照文档集成定位
点此可跳入开发者文档

三、遇到问题(记录下来留作无稽之谈并分享方便各位新晋采坑小伙伴借鉴,可避免少量头疼)

1、按照文档集成之后定位经纬度一直是 4.9E-324
解决方法在main下新建文件夹 jniLibs 将jar包以外的文件导入 定位成功
在这里插入图片描述
2、定位成功之后 部分属性又一直是空

例如 addr 一直是空 获取不到定位的地址信息
解决方法 在初始化中添加 :

option.setIsNeedAddress(true);

3、定位4.9E-324 和系统权限有关

注意应用权限和系统权限的分别判断
判断系统权限gps是否打开的方法

//判断gps是否处于打开状态 public boolean isOpen(Context mContext) { if (Build.VERSION.SDK_INT <19) { LocationManager myLocationManager = (LocationManager )mContext.getSystemService(Context.LOCATION_SERVICE); return myLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); }else{ int state = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF); if(state==Settings.Secure.LOCATION_MODE_OFF){ return false; }else{ return true; } } }

true打开 false未打开 若未打开则去打开,跳转方法如下

startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));

应用的定位权限用你的工具类判断

Manifest.permission.ACCESS_FINE_LOCATION

若是未开前去开启就OK


作者:怪咖小白



定位 百度定位 id roi

需要 登录 后方可回复, 如果你还没有账号请 注册新账号