川普是什么意思| 肾结水是什么原因造成的| 咸湿佬是什么意思| 办理生育登记有什么用| 淋巴细胞绝对值偏低是什么意思| 秦二世为什么姓胡| 什么是随机血糖| 女性肾功能不好有什么症状| 8点是什么时辰| mcm是什么意思| 广东有什么城市| 耳前瘘管有什么危害| 唐僧属什么生肖| 生育津贴是什么| 晕车为什么读第四声| 下嘴唇发麻什么病兆| 吃海鲜喝什么酒| 柠檬泡水喝有什么功效| 女性支原体感染有什么症状| 三查八对的内容是什么| 举的部首是什么| 为什么抽烟会上瘾| 西葫芦炒什么好吃| 慢性胃炎有什么症状| 天时地利人和什么意思| 上什么环最好最安全伤害小| 每天吃洋葱有什么好处| 晚安安是什么意思| 乐字五行属什么| 免疫球蛋白适合什么人| 一什么沙发| 玉米有什么营养价值| 阳痿早泄是什么意思| 小孩口腔溃疡是什么原因引起的| 缺点是什么意思| 什么样的降落伞| 什么是中出| 高尿酸血症是什么病| 脖子发痒是什么原因| 冲管什么意思| 榴莲为什么那么贵| 售馨是什么意思| 灼是什么意思| 什么是水印| sop是什么意思| 刀鱼和带鱼有什么区别| 浅表性胃炎吃什么中成药最好| 第一次怀孕有什么反应| 这是什么猫| 谶语是什么意思| 11月30号是什么星座| 连云港有什么特产| 一九三九年属什么生肖| 什么是碱性水果| 三叉神经挂什么科| 什么是考生号| 723是什么意思| ky什么意思| 小姑娘为什么会得多囊卵巢| 肚子咕噜响是什么原因| 凝血功能差有什么危害| 吃什么开胃| 结石是什么原因引起的| magnesium是什么意思| 马齿苋与什么食物相克| 项链突然断了预示什么| 浑浑噩噩是什么意思| 点了斑不能吃什么| 落枕是什么原因| 龟头炎看什么科| 水杉是什么植物| 男大三后面一句是什么| 白莲子和红莲子有什么区别| 商业保险报销需要什么材料| 参芪颗粒适合什么人吃| 定海神针什么意思| 六月初六是什么星座| 乌鸡放什么炖补气补血| 17数字代表什么意思| 什么是脂肪瘤| 骨客念什么| 脾胃不好吃什么药好| 梦见狼狗是什么预兆| 什么炖排骨好吃| 子宫内膜厚有什么危害| 尿检隐血十一什么意思| 巨蟹座和什么最配| 下午两点多是什么时辰| 什么是巧克力囊肿| 哺乳期吃什么下奶| 尿频是什么意思| 鸡是什么类| 为什么容易中暑| 岁月如歌是什么意思| 吃什么最补血而且最快| 西洋参可以和什么一起泡水喝| 宫禁糜烂用什么药| 珀莱雅适合什么年龄| 血小板压积是什么意思| 天为什么会下雨| 心衰竭吃什么药效果好| 什么人容易得布病| afc是什么意思| 后背痒痒是什么原因| 芸豆是什么豆| 两个a是什么牌子| spc是什么意思| 割包皮是什么意思| 同房什么感觉| 为什么体检要空腹| 肺结核的痰是什么颜色| 胰岛素高是什么意思| 六月二十五号是什么星座| a血型和o血型生出宝宝是什么血型| 脑回路什么意思| 新疆是什么族| 肝岛是什么意思| 什么叫免疫组化| 梦见卖衣服是什么意思| 狼狈是什么动物| 安全期是什么时候| microsd卡是什么卡| 排骨炒什么配菜好吃| 哮喘吃什么食物好| 韩国买什么东西划算| 尿蛋白弱阳性是什么意思| 手掌纹路多且杂乱是为什么| 三合局是什么意思| 痘坑用什么药膏最有效| 菊花有什么功效和作用| 什么地散步| 泪腺堵塞有什么症状| 三毛为什么自杀| 什么的瞬间作文| 鸟屎掉身上有什么预兆| 和田玉对身体有什么好处| 女人吃什么补月牙最快| 中医为什么下午不把脉| 狗狗犬窝咳吃什么药| 双肾结晶是什么意思| 什么是cp| 怀孕第一个月有什么特征| 牛肉什么馅的饺子好吃| 脑脱髓鞘改变是什么病| 吹空调感冒了吃什么药| 花期是什么意思| 疣挂什么科| 男人跑马是什么意思| 妊娠期是指什么时候| store是什么| 72岁属什么| 霍金是什么病| 独立户口需要什么条件办理| 脚心起水泡是什么病症| 金丝玉是什么玉| pcr是什么| 胰腺上长瘤意味着什么| 不是什么| 16年是什么年| 经期血块多是什么原因| 鸡拉白色稀粪吃什么药| 肚脐眼中间疼是什么原因| 肚脐眼左边疼是什么原因| 促排药什么时候开始吃| 梅菜是什么菜| 无犯罪记录证明需要什么材料| 菠萝是什么季节的水果| 上海玉佛寺求什么最灵验| 吃什么凉血效果最好| 什么是双一流| 曲酒是什么酒| 男人胡子长得快是什么原因| 什么有作为| 印堂发亮预兆着什么| 下面瘙痒用什么药| 红茶适合什么季节喝| 踢皮球是什么意思| 本性难移是什么生肖| 女人梦见仇人代表什么| 无聊干什么| le是什么元素| 什么叫文化| 调理牛肉是什么意思| 妨父母痣是什么意思| 不速之客的速是什么意思| 腿麻木是什么原因引起的| 鲁迅的真名叫什么| 口腔溃疡吃什么食物| 喜上眉梢是什么意思| 手术后吃什么恢复快| 平台期是什么意思| 地瓜什么时候成熟| 白带什么味道| 蜂蜜什么时候喝最佳| 胃在什么位置| 腺肌症是什么原因引起的| 梦见别人家盖房子是什么意思| 为什么早上起来血压高| 唇上有痣代表什么| 便秘有什么症状| 中字五行属什么| 喜欢闻汽油味是什么原因| 嫡传弟子是什么意思| 突然戒烟对身体有什么影响| 血常规用什么颜色的试管| 生意兴隆是什么生肖| 吃什么解毒最快| 感冒喉咙痛挂什么科| 龟头炎是什么| 结婚一年是什么婚| moncler是什么牌子| 脱水是什么意思| 4.24是什么星座| 舌头有问题应该挂什么科| 4级手术是什么意思| 男人要的归属感是什么| 女人的排卵期是什么时候| 异质性是什么意思| 游车河什么意思| 车代表什么生肖| 隔离霜和bb霜有什么区别| 生灵涂炭是什么意思| asa是什么意思| 授受不亲什么意思| 谷丙转氨酶是检查什么的| 女性尿急憋不住尿是什么原因| 男人做什么运动能提高性功能| 头痛是什么原因造成的| 避孕套是什么| 看颈椎挂什么科| 乙肝表面抗原大于250是什么意思| 2月出生是什么星座| ppm是什么意思| 男人染上霉菌什么症状| 天麻与什么煲汤最好| 外油内干是什么肤质| 婴儿眼屎多是什么原因| 彼岸花代表什么星座| 昱读什么| 三摩地是什么意思| 1954年出生属什么| bone什么意思| 舔是什么意思| 胎儿肠管扩张是什么原因造成的| 狐狸的尾巴有什么作用| 1978年是什么年| 阴道口有点痒用什么药| 一切有为法是什么意思| 阁五行属什么| 什么实实| 男人的精子对女人有什么好处| 身体不适是什么意思| 早早孕什么时候测最准| 供血不足吃什么好| 淋巴结回声是什么意思| 莱赛尔纤维是什么面料| 雪碧喝多了有什么害处| 电子烟是什么| 神经纤维瘤挂什么科| 肾结石什么不可以吃| 一个木一个寿念什么| 咳嗽有痰吃什么药| 狗的鼻子为什么是湿的| 吃金蝉有什么好处| 百度
产品服务
解决方案
文档与支持
定价
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的相关内容,推荐周边其他用户,增强用户社交属性,助力开发者为用户进行精准化营销推送。

下一篇

获取密钥

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

腐男是什么意思 什么颜色的猫最旺财 孕妇吃什么水果好对胎儿好 神经疼是什么原因 打2个喷嚏代表什么
京东白条什么时候还款 妇科炎症用什么药 疑虑是什么意思 尿气味重是什么原因 ab什么意思
麻醉剂是什么 发热门诊属于什么科 勃起不够硬吃什么药 什么是比热容 男人小腿肿是什么原因
甲状腺桥本是什么意思 梦见种地是什么意思 离宫是什么意思 条索灶是什么意思 没什么大不了
太虚幻境是什么意思hcv7jop9ns1r.cn 男人不举是什么原因造成的hcv9jop6ns5r.cn 可见一什么hcv8jop9ns5r.cn ins是什么hcv8jop9ns0r.cn 湿疹用什么药最有效hcv8jop9ns8r.cn
产复欣颗粒什么时候吃hcv9jop3ns7r.cn 晕菜是什么意思hcv8jop9ns3r.cn dvd是什么意思hcv9jop5ns4r.cn 细菌性前列腺炎有什么症状hcv9jop0ns8r.cn 雷龙鱼吃什么hcv9jop3ns1r.cn
身体缺钠会有什么症状hcv8jop4ns5r.cn 真菌性外耳道炎用什么药hcv9jop6ns9r.cn 疱疹长什么样子图片hcv9jop1ns1r.cn 做血常规检查挂什么科hcv9jop1ns8r.cn 长寿的秘诀是什么hcv7jop9ns8r.cn
后生是什么意思aiwuzhiyu.com 拉肚子吃什么饭hcv7jop7ns1r.cn 梨涡是什么意思hcv7jop9ns9r.cn 痱子涂什么药膏好hcv8jop7ns9r.cn 什么叫培根hcv8jop6ns0r.cn
百度