获取位置信息
1)位置信息
GPS卫星定位,在室外适用
基站(3个基站交叉,锁定手机位置)–基站定位不平均,有些地方实现不了3点定位
网络定位–通过手机IP地址,去锁定位置(消耗流量,对网络有要求)
谷歌地图的大致实现思路(通用)
2)实现定位功能的重要类
在百度地图和高德地图中不一样
3)获取用户位置的典型流程
4)关键点策略
5)位置修正
5)实现位置信息获取
百度地图
1.使用百度地图开放平台
2.进入Android定位SDK
3.开发准备工作
1)进入控制台,点击我的应用,进行注册
2)填写信息
应用类型 Android SDK
启动服务 默认全选
开发版密钥位置–debug.keystore存放位置
生成密钥口令
口令默认为android
根据此填写SHA1(发布版与测试版暂时填写一样,之后再更改)
PackageName:填写自己要开发的软件的包名
然后提交之后,复制访问应用AK中的数据
项目中的配置
1.在manifest中,values是刚才复制的AK
2.进入百度开放平台的产品下载,点击功能定制化开发包,进行下载jar文件
进入project模式,将下载的文件复制到CheckSoft/app/libs下
3.在android模式下
在CheckSoft/app/build.gradle(module…)中进行配置
4.在manifest中配置sevice
name是jar中的包名
导入jar设置依赖,能查看jar中具体的代码
5.在manifest中配置权限
<!--访问网络,网络定位需要上网--><uses-permission android:name="android.permission.INTERNET" /><!-- 这个权限用于进行网络定位,大致的定位--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission><!-- 这个权限用于访问GPS定位,更精准的定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><!-- 用于访问wifi网络信息/状态,wifi信息会用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission><!-- 获取运营商信息,用于支持提供运营商信息相关的接口--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission><!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><!-- 访问网络,网络定位需要上网--><uses-permission android:name="android.permission.INTERNET"></uses-permission>
<!--安卓9.0以上使用前台服务,需要添加权限-->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"></uses-permission>
<!--查看手机状态--><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>