瘢痕是什么意思| 眼睛干痒滴什么眼药水| 小孩为什么会得手足口病| 肩周炎是什么原因引起的| 胃热吃什么药最有效| 科甲是什么意思| 容易做梦是什么原因引起的| 四九城是什么意思| 不怀孕是什么原因引起的| 88属什么生肖| 小腿灼热感是什么原因| 好奇害死猫是什么意思| 人为什么会梦游| 渣是什么意思| 痔疮很痒是什么原因| 经常感冒的人吃什么能增强抵抗力| 憩息是什么意思| 木指什么生肖| 宫腔粘连带是什么意思| 面霜是什么| 女人性冷淡用什么药| 三个又是什么字| 妙三多预防什么| 脸大适合什么发型| 拜把子是什么意思| 梦见大房子是什么预兆| 蛇爱吃什么食物| 子宫肌瘤是什么| ktv是什么意思| 胆囊炎可以吃什么水果| 藏海花是什么花| 中央政法委书记什么级别| 嗝屁是什么意思| 玉对人身体健康有什么好处| 什么是生命之本| 师兄是什么意思| 月经多是什么原因| 肌肉的作用是什么| 八月初十是什么星座| 小便有点刺痛是什么原因引起的| 磷偏低是什么原因| 儿童舌系带短挂什么科| 网络cp是什么意思| 宝宝老是摇头是什么原因| 什么是援交| 耳耵聍是什么东西| 蜂王浆什么味道| 喉咙发炎不能吃什么| 痛经吃什么| 瘿瘤是什么病| 手心长痣代表什么| 4月22日什么星座| 现在干什么挣钱| 八项规定的内容是什么| 6月22是什么星座| 血热是什么原因| 拔智齿第二天可以吃什么| 侬是什么意思| 皮下出血是什么原因| 玛卡是什么药| hcv阳性是什么意思| 面瘫是什么引起的| 莲子心有什么功效| 屈膝是什么意思| 头发轻轻一拉就掉了是什么原因| 儿童头疼吃什么药| 2月2号是什么星座| 豆支念什么| 什么蛇没有毒| 成何体统是什么意思| 男人为什么| 抖是什么生肖| 心外科是看什么病的| 黑蓝色是什么颜色| yy是什么意思| 舌头肿大是什么原因引起的| 指滑是什么意思| 5月13日什么星座| 男女更年期分别在什么年龄| 保守治疗是什么意思| 脸部痒是什么原因| 孕妇晚餐吃什么比较好| 央行行长什么级别| au9999是什么意思| 塑料是什么材料| 鸭屎香为什么叫鸭屎香| 脚趾起水泡是什么原因| VA什么意思| 胆固醇是什么东西| 座是什么结构| 身上起红疙瘩是什么原因| 海带吃了有什么好处| 尼古丁是什么| 耳朵会动的人说明什么| 什么七八什么| 身上没长什么就是干痒| 椰子水有什么功效| 看肺应该挂什么科| 胸膈痞闷什么意思| 七月份适合种什么菜| 坚果什么时候吃最好| 七情六欲是什么意思| 小排畸什么时候做| 什么颜色衣服最防晒| 黄瓜为什么不叫绿瓜| 秦始皇的佩剑叫什么剑| 绿矾是什么| 乙肝病毒表面抗原阳性是什么意思| 减肥能吃什么| 锁骨疼是什么原因| 中性粒细胞偏高是什么意思| 儿童肚子疼吃什么药| 秦二世叫什么| 心肾不交失眠吃什么中成药| 小孩子包皮挂什么科| 老鼠怕什么| 焦虑症吃什么中成药| 女性阴毛变白是什么原因| 大拇指戴戒指是什么意思| 6月19什么星座| 远字五行属什么| 内膜薄是什么原因| 下面干涩是什么原因导致的| 心病是什么意思| 松脂是什么| 总蛋白偏低是什么意思| 跳蚤怕什么东西| 手足口疫苗什么时候打| 心电图p波代表什么| 谭咏麟为什么叫校长| 后壁和前壁有什么区别| 方圆是什么意思| hpv有什么症状吗| 减肥期间能吃什么水果| 农历六月十九是什么日子| 羊肉炖什么好吃| 化痰祛痰吃什么药| 希鲮鱼是什么鱼| 被蝎子蛰了有什么好处| 蓝颜知己什么意思| 拔完牙可以吃什么| 人为什么会中暑| 骨密度减少是什么意思| 暹什么意思| 是什么日子| 咖啡加牛奶叫什么| 苯扎氯铵是什么| 血糖高初期有什么症状| 荷兰机场叫什么| 十月什么星座| 九孔藕和七孔藕有什么区别| 栀子花什么时候修剪| 女人眉毛稀少代表什么| 刚刚邹城出什么大事了| 蜂蜜水什么时候喝最好| met是什么意思| 胆切除后吃什么好| 手足口不能吃什么食物| 瑞舒伐他汀钙片什么时候吃| 同人小说是什么| 左脸长痘是什么原因| 崔字五行属什么| 男人下面流脓吃什么药| 什么牌子的益生菌调理肠胃比较好| 活珠子是什么| 必修课是什么意思| 肺气肿挂什么科| 11月20号什么星座| 为什么会得霉菌性阴道炎| 梦见被追杀是什么预兆| 总钙偏高是什么原因| 眼睛淤青用什么方法能快点消除| 空调水滴是什么模式| 北京的区长是什么级别| 什么酒好喝| 璐字五行属什么| 血管堵塞吃什么好| 手脚发麻什么原因| 手痒脱皮是什么原因| 女人吃桑葚有什么好处| 治疗风湿有什么好方法| 择期手术是什么意思| 宫颈ecc是什么意思| 心发慌是什么原因| 中秋节送礼送什么| 副主任医师是什么级别| 胃不舒服吃什么水果| 粿是什么意思| 形容高兴的词语有什么| 大校上面是什么军衔| 水床是什么| 后背疼痛什么原因| 吃了避孕药会有什么副作用| 夜排是什么意思| 新生儿为什么会有黄疸| 什么的老师| 之际是什么意思| 为什么会得疣| hugo是什么意思| 部委是什么意思| 14年是什么年| 什么人容易得肾结石| 公关是干什么的| 蚝油是用什么做的| 红和绿混合是什么颜色| 怀孕喝酒会有什么反应| 免冠照片是什么意思| 淋巴结肿大是什么样子的| 升血压吃什么药| 饭中吃药是什么时候吃| vb6是什么药| 嫣然是什么意思| 双手发麻是什么病的前兆| 外贸是什么| 奔富红酒属于什么档次| 脚脖子抽筋是什么原因| 鸟在家里做窝预示什么| 痰的颜色代表什么| 1984年是什么年| 爱钻牛角尖是什么意思| 肚子疼呕吐是什么原因引起的| 鬓发是什么意思| 妒忌什么意思| 麻酱是什么做的| 扁桃体有什么用| 翘嘴鱼吃什么食物| 长生不老是什么意思| 类似蜈蚣的虫子叫什么| 毛峰是什么茶| 玄关什么意思| 1954年出生属什么| 什么叫临床医学| 生物指的是什么| 棍子鱼又叫什么鱼| 做什么生意最赚钱| 皮肤软组织感染用什么消炎药| 吃了羊肉不能吃什么| 理疗是什么意思| 膀胱冲洗用什么药| mr是什么意思| 体脂是什么意思| 甲状腺是什么症状表现| 阴唇肿是什么原因| 什么情况下要做宫腔镜| 地中海贫血携带者是什么意思| mechrevo是什么牌子的电脑| 肉炒什么菜谱大全| 腿上有白色条纹是什么| 阴道有异味用什么药| 彩泥可以做什么| 刮痧红色说明什么原因| 独一无二是什么生肖| crp高是什么意思| 邓绥和阴丽华什么关系| 5.5号是什么星座| 脸部浮肿是什么原因| 按摩是什么意思| 屌丝是什么| 高压高低压正常是什么原因| 10月10号是什么星座| 失眠吃什么中成药效果最好| 尿等待是什么原因| 一什么马车| aps是什么意思| 百度
产品服务
解决方案
文档与支持
定价
Android 定位SDK
百度地图Android定位SDK是为Android移动端应用提供的一套简单易用的定位服务接口, 专注于为广大开发者提供最好的综合定位服务。通过使用百度定位SDK,开发者可以轻松为应用程序实现智能、精准、高效的定位功能。
该服务目前支持获取海外的经纬度信息。

重要:为了进一步加强对最终用户个人信息的安全保护措施,从定位SDK v9.2.9版本起, 请开发者务必确保调用SDK任何接口前先调用隐私合规接口setAgreePrivacy, 否则可能会无法正常使用相关功能。具体可参考隐私合规接口说明。

免费说明
目前百度地图Android定位SDK境内服务对非商业目的使用的开发者不收取任何费用,开发者可自行下载放心使用。 如您以商业目的(包括但不限于对第三方用户收费、项目投标,以及其他直接或间接获取收益或利益)使用本平台服务,则用户须要事先获得本平台 "商用授权"许可。平台商用授权的授权对象为公司主体。授权成功后,您将会收到平台提供的书面版商用授权书(附带百度公司签章)。 商用授权可点击这里了解详情。
功能介绍
基础定位
简介
定位SDK的核心能力就是帮助开发者快速、精准的获取用户定位。开发者只需按照如下流程操作,即可获取用户当前经纬度。
功能展示
/**
* 初始化定位参数配置
*/
private void initLocationOption() {
//定位服务的客户端。宿主程序在客户端声明此类,并调用,目前只支持在主线程中启动
LocationClient locationClient = new LocationClient(getApplicationContext());
//声明LocationClient类实例并配置定位参数
LocationClientOption locationOption = new LocationClientOption();
MyLocationListener myLocationListener = new MyLocationListener();
//注册监听函数
locationClient.registerLocationListener(myLocationListener);
//可选,默认高精度,设置定位模式,高精度,低功耗,仅设备
locationOption.setLocationMode(LocationMode.Hight_Accuracy);
//可选,默认gcj02,设置返回的定位结果坐标系,如果配合百度地图使用,建议设置为bd09ll;
locationOption.setCoorType("gcj02");
//可选,默认0,即仅定位一次,设置发起连续定位请求的间隔需要大于等于1000ms才是有效的
locationOption.setScanSpan(1000);
//可选,设置是否需要地址信息,默认不需要
locationOption.setIsNeedAddress(true);
//可选,设置是否需要地址描述
locationOption.setIsNeedLocationDescribe(true);
//可选,设置是否需要设备方向结果
locationOption.setNeedDeviceDirect(false);
//可选,默认false,设置是否当卫星定位有效时按照1S1次频率输出卫星定位结果
locationOption.setLocationNotify(true);
//可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死
locationOption.setIgnoreKillProcess(true);
//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近”
locationOption.setIsNeedLocationDescribe(true);
//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到
locationOption.setIsNeedLocationPoiList(true);
//可选,默认false,设置是否收集CRASH信息,默认收集
locationOption.SetIgnoreCacheException(false);
//可选,默认false,设置是否开启卫星定位
locationOption.setOpenGnss(true);
//可选,默认false,设置定位时是否需要海拔信息,默认不需要,除基础定位版本都可用
locationOption.setIsNeedAltitude(false);
//设置打开自动回调位置模式,该开关打开后,期间只要定位SDK检测到位置变化就会主动回调给开发者,该模式下开发者无需再关心定位间隔是多少,定位SDK本身发现位置变化就会及时回调给开发者
locationOption.setOpenAutoNotifyMode();
//设置打开自动回调位置模式,该开关打开后,期间只要定位SDK检测到位置变化就会主动回调给开发者
locationOption.setOpenAutoNotifyMode(3000,1, LocationClientOption.LOC_SENSITIVITY_HIGHT);
//需将配置好的LocationClientOption对象,通过setLocOption方法传递给LocationClient对象使用
locationClient.setLocOption(locationOption);
//开始定位
locationClient.start();
}
/**
* 实现定位回调
*/
public class MyLocationListener extends BDAbstractLocationListener{
@Override
public void onReceiveLocation(BDLocation location){
//此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
//以下只列举部分获取经纬度相关(常用)的结果信息
//更多结果信息获取说明,请参照类参考中BDLocation类中的说明
//获取纬度信息
double latitude = location.getLatitude();
//获取经度信息
double longitude = location.getLongitude();
//获取定位精度,默认值为0.0f
float radius = location.getRadius();
//获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准
String coorType = location.getCoorType();
//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明
int errorCode = location.getLocType();
}
}
连续定位
简介
实际定位场景中,可能会存在很多的位置抖动,此示例展示了一种对定位结果进行的平滑优化处理。实际测试下,该平滑策略在市区步行场景下,有明显平滑效果,有效减少了部分抖动,开放算法逻辑(具体算法在官网示例demo的LocationFilter类中查找),希望能够对开发者提供帮助。
功能展示
/**
* 初始化定位参数配置
*/
private void initLocationOption() {
//定位服务的客户端。宿主程序在客户端声明此类,并调用,目前只支持在主线程中启动
LocationClient locationClient = new LocationClient(getApplicationContext());
//声明LocationClient类实例并配置定位参数
LocationClientOption locationOption = new LocationClientOption();
MyLocationListener myLocationListener = new MyLocationListener();
//注册监听函数
locationClient.registerLocationListener(myLocationListener);
//可选,默认高精度,设置定位模式,高精度,低功耗,仅设备
locationOption.setLocationMode(LocationMode.Hight_Accuracy);
//可选,默认gcj02,设置返回的定位结果坐标系,如果配合百度地图使用,建议设置为bd09ll;
locationOption.setCoorType("gcj02");
//可选,默认0,即仅定位一次,设置发起连续定位请求的间隔需要大于等于1000ms才是有效的
locationOption.setScanSpan(1000);
//可选,设置是否需要地址信息,默认不需要
locationOption.setIsNeedAddress(true);
//可选,设置是否需要地址描述
locationOption.setIsNeedLocationDescribe(true);
//可选,设置是否需要设备方向结果
locationOption.setNeedDeviceDirect(false);
//可选,默认false,设置是否当Gnss有效时按照1S1次频率输出Gnss结果
locationOption.setLocationNotify(true);
//可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死
locationOption.setIgnoreKillProcess(true);
//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近”
locationOption.setIsNeedLocationDescribe(true);
//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到
locationOption.setIsNeedLocationPoiList(true);
//可选,默认false,设置是否收集CRASH信息,默认收集
locationOption.SetIgnoreCacheException(false);
//可选,默认false,设置是否开启卫星定位
locationOption.setOpenGnss(true);
//可选,默认false,设置定位时是否需要海拔信息,默认不需要,除基础定位版本都可用
locationOption.setIsNeedAltitude(false);
//设置打开自动回调位置模式,该开关打开后,期间只要定位SDK检测到位置变化就会主动回调给开发者,该模式下开发者无需再关心定位间隔是多少,定位SDK本身发现位置变化就会及时回调给开发者
locationOption.setOpenAutoNotifyMode();
//设置打开自动回调位置模式,该开关打开后,期间只要定位SDK检测到位置变化就会主动回调给开发者
locationOption.setOpenAutoNotifyMode(3000,1, LocationClientOption.LOC_SENSITIVITY_HIGHT);
//需将配置好的LocationClientOption对象,通过setLocOption方法传递给LocationClient对象使用
locationClient.setLocOption(locationOption);
//开始定位
locationClient.start();
}
/**
* 实现定位回调
*/
public class MyLocationListener extends BDAbstractLocationListener{
@Override
public void onReceiveLocation(BDLocation location){
//此处的BDLocation为定位结果信息类,通过它的各种get方法可获取定位相关的全部结果
//以下只列举部分获取经纬度相关(常用)的结果信息
//更多结果信息获取说明,请参照类参考中BDLocation类中的说明
//获取纬度信息
double latitude = location.getLatitude();
//获取经度信息
double longitude = location.getLongitude();
//获取定位精度,默认值为0.0f
float radius = location.getRadius();
//获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准
String coorType = location.getCoorType();
//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明
int errorCode = location.getLocType();
}
}
后台定位
简介
为了最大程度的增加定位进程的存活率,百度Android定位SDK提供后台持续定位的能力,可在应用退后台的状态下,持续记录位置信息。具体请参考Android8.0定位须知中的介绍。
功能展示
//核心实现代码如下,详细代码请参考官网Demo。
//开启前台定位服务:
Notification.Builder builder = new Notification.Builder (MainActivity.this.getApplicationContext());
//获取一个Notification构造器
Intent nfIntent = new Intent(MainActivity.this.getApplicationContext(), MainActivity.class);
builder.setContentIntent(PendingIntent.getActivity(MainActivity.this, 0, nfIntent, 0)) // 设置PendingIntent
.setContentTitle("正在进行后台定位") // 设置下拉列表里的标题
.setSmallIcon(R.mipmap.ic_launcher) // 设置状态栏内的小图标
.setContentText("后台定位通知") // 设置上下文内容
.setAutoCancel(true)
.setWhen(System.currentTimeMillis()); // 设置该通知发生的时间
Notification notification = null;
notification = builder.build();
notification.defaults = Notification.DEFAULT_SOUND; //设置为默认的声音
mLocClient.enableLocInForeground(1001, notification);// 调起前台定位
//停止前台定位服务:
mLocClient.disableLocInForeground(true);// 关闭前台定位,同时移除通知栏
位置提醒
简介
定位SDK支持位置提醒功能,当用户到达开发者设定的位置区域时,会触发相应提示。
功能展示
public LocationClient mLocationClient = null;
public BDNotifyListener myListener = new MyNotifyListener();
/**
*请在主线程中声明LocationClient类对象,该对象初始化需传入Context类型参数。推荐使用getApplicationConext()方法获取全进程有效的Context。
*/
public void onCreate() {
//声明LocationClient类
mLocationClient = new LocationClient(getApplicationContext());
//注册监听函数
mLocationClient.registerNotify(myListener);
}
/**
*定义MyNotifyLister类,继承BDNotifyListener,实现位置监听的回调。
*/
public class MyNotifyLister extends BDNotifyListener {
public void onNotify(BDLocation mlocation, float distance){
//已到达设置监听位置附近
}
}
//调用BDNotifyListener的setNotifyLocation方法,实现设置位置消息提醒。
//设置位置提醒,四个参数分别是:纬度、精度、半径、坐标类型
myListener.setNotifyLocation(40.0f, 116.0f, 3000, mLocationClient.getLocOption().getCoorType());
//启动定位,SDK便会自动开启位置消息提醒的监听
mLocationClient.start();
//调用BDNotifyListener的removeNotifyEvent方法,实现取消位置监听
mLocationClient.removeNotifyEvent(myListener);
服务优势
百度地图Android定位SDK是为Android移动端应用提供的一套简单易用的定位服务接口,专注于为广大开发者提供最好的综合定位服务。 通过使用百度定位SDK,开发者可以轻松为应用程序实现智能、精准、高效的定位功能。
-定位成功率:整体定位成功率高达99.6%。
-定位精度高:卫星定位精度达到5-10米,Wi-Fi定位精度达8-10米,基站定位精度达50-300米。
-流量小:单次请求产生的网络流量在0.3K,不请求定位时不会产生任何流量。
-速度快:网络定位速度达到200ms(网络正常环境下),IP定位速度小于200ms。
-覆盖广:移动、联通、电信全网络覆盖,基站覆盖率达到99%,Wi-Fi覆盖率达到99%。
-服务稳定:定位服务稳定性可达到99.999%。
-低功耗:内存占用15.6M,CPU占用率2.2%。
-室内定位:覆盖火车站、机场、商场、客运汽车站、博物馆、综合医院、图书馆等多种场景,利用三角定位技术、 增强Wi-Fi指纹模型技术、地磁技术、蓝牙技术等,提供精度可达1-2m的室内精准定位服务。
注意:如百度未覆盖您的室内地图数据、室内店铺等信息变更第一时间更新定位信息,或其他室内图室内定位相关需求,您可以点击这里
-海外定位:百度目前覆盖全球200多个国家和地区,支持全球52种语言,拥有海外地区POI总量超过1亿、路网7000万公里。
应用场景
-智能硬件:以智能可穿戴、智能家居、智能交通设备和VR设备为代表,解决用户定位难题,助力开发者实现用户精准定位、远程定位、地理围栏监控提醒等功能。
-电商购物:基于用户的精确位置,为用户推荐商品,为用户自动填写收货地址,优化送货体验,通过精准定位实时查看运输位置。
-出行服务:为开发者提供出行用车服务,利用精准定位和位置描述,明确用车起点、终点,帮助司机更好的找到用车用户。
-影音娱乐:利用精准定位服务,获取用户位置,为用户推荐基于LBS的相关内容,推荐周边其他用户,增强用户社交属性,助力开发者为用户进行精准化营销推送。

下一篇

获取密钥

本篇文章对您是否有帮助?

礼是什么意思 黑白猫是什么品种 声字五行属什么 腰痛宁为什么晚上吃 胃寒吃什么好
磕头虫吃什么 什么动物是站着睡觉的 mask是什么意思 马标志的车是什么牌子 中暑了喝什么
善良对什么 三铵复合肥是什么 巴洛特利为什么叫巴神 96年是什么年 磨牙吃什么药能治好
过期红酒有什么用途 什么是干股 过氧化氢弱阳性什么意思 婴儿有眼屎是什么原因引起的 副总经理是什么级别
弥漫性脂肪肝什么意思huizhijixie.com 盗汗是什么症状hcv8jop8ns8r.cn 皮肤过敏挂什么科hcv9jop6ns5r.cn 叩是什么意思hcv9jop7ns5r.cn 吃饭老是噎着是什么原因hcv7jop6ns7r.cn
黄原胶是什么hcv8jop8ns7r.cn 2009是什么年hcv8jop9ns7r.cn 人夫是什么意思xscnpatent.com 八月份什么星座zhiyanzhang.com 关羽使用的武器是什么hcv9jop1ns5r.cn
溢字五行属什么creativexi.com 淋巴细胞低说明什么hcv8jop0ns3r.cn 总放屁是什么病的前兆hcv8jop2ns4r.cn 什么水果不含糖hcv8jop1ns4r.cn 为什么不开朱元璋的墓hcv7jop6ns8r.cn
神经纤维瘤挂什么科hcv9jop6ns7r.cn 梦见经血是什么预兆hcv7jop4ns5r.cn 菠萝蜜和什么不能一起吃hcv8jop6ns3r.cn 左卵巢囊性结构是什么意思hcv8jop5ns2r.cn 缺维生素a吃什么食物hcv7jop6ns7r.cn
百度