核心是什么意思| quake是什么意思| 帮凶是什么意思| 什么是码率| 荷叶是什么的什么| 考研是什么时候考| 水泊梁山什么意思| 屡试不爽是什么意思| 什么颜色的衣服最防晒| 等边三角形又叫什么三角形| 肺纤维增殖灶是什么意思| 脑溢血是什么原因引起的| 用淘米水洗脸有什么好处| 小便失禁是什么原因| 做腹腔镜手术后需要注意什么| 蓝莓什么季节成熟| 霸天虎和威震天是什么关系| 熟啤酒是什么意思| M3什么意思| 渎是什么意思| 最聪明的狗是什么狗| 胸腔积液是什么原因引起的| 素质教育是什么| 豺是什么动物| 双十一从什么时候开始| 孕妇吃什么血糖降得快| 为什么受伤总是我| 土地出让金什么意思| 脖子黑是什么病| 系统是什么| 有眼屎是什么原因| 智商120是什么水平| 这是什么虫子| 梅子是什么| 5月份是什么星座| 吃山竹有什么好处| 骨头疼是什么原因| 突然视力模糊是什么原因引起的| angry是什么意思| 什么进曹营一言不发| gst是什么意思| 脚为什么脱皮| honor是什么牌子手机| 来大姨妈喝酒有什么影响| 空腹是什么意思| 麦是什么意思| 阳光是什么颜色| 梦见自己流血是什么预兆| 跌水是什么意思| sk是什么| 痛风喝什么水| 血压什么时候量最准确| 今晚吃什么家常菜| 颈椎病是什么原因引起的| 手脱皮什么原因| 房颤吃什么药效果最好| 组织是什么意思| 空调水滴是什么模式| 心脏肿大是什么原因| 61岁属什么生肖| 张嘴睡觉是什么原因| 澄面粉是什么面粉| 低压108有什么危险| 152是什么意思| qp是什么牌子| 刘庄为什么要灭了阴家| 白细胞偏高是什么原因引起的| 男人喜欢什么样的女人做老婆| 肛门潮湿用什么药最好| 大姨妈来吃什么水果好| 丰的部首是什么偏旁| 生殖器疱疹吃什么药| 青豆是什么豆| 成全是什么意思| 成人打虫吃什么药| 处女座女和什么星座最配| 纯化水是什么水| 母公司是什么意思| 祸祸是什么意思| 健康证都查什么| 为什么突然有狐臭了| 加白是什么意思| 口干舌燥是什么意思| 但闻人语响的但是什么意思| 牛百叶是什么部位| 子女缘薄是什么意思| 纯度是什么意思| 澳大利亚属于什么国家| 什么是水马| 头孢是什么| 将军代表什么生肖| 农历九月五行属什么| 珐琅是什么| 踏空是什么意思| 石加乏念什么| 俞是什么意思| 紫菜是什么颜色| 什么颜色加什么颜色等于棕色| 西湖醋鱼是什么鱼| 什么叫同理心| 香蕉不能和什么水果一起吃| 横财是什么意思| 美商是什么意思| 做梦梦到猪是什么意思| 黄褐斑是什么引起的| gdp指的是什么| 欲是什么意思| 苦荞茶有什么作用| 做梦翻车了什么预兆| 六艺是什么| 氨水对人体有什么危害| 鸡吃什么食物| 薛之谦的真名叫什么| 菌群异常是什么意思| 做胃镜之前需要做什么准备| 什么叫生酮饮食| 11月11号什么星座| 肾阴虚吃什么中药| 星辰大海是什么意思| 中耳炎吃什么药效果比较好| bld是什么意思| 火舌是什么意思| 孕妇缺碘吃什么补最快| http是什么| 膝关节痛什么原因| 津液亏虚是什么意思| 小三最怕什么| 多囊卵巢综合症是什么原因造成的| 帽缨是什么意思| 什么原因引起耳鸣| 什么是劣药| 早上起来眼皮肿是什么原因| 胬肉是什么意思| 婴儿肥是什么意思| h2ra 是什么药物| 木有什么意思| 合子是什么| 阿胶是什么做的| 木耳不能和什么一起吃| 陆陆续续是什么意思| 7月26日什么星座| 什么是神经官能症| 黑色属于什么五行属性| 经常扁桃体发炎是什么原因| 左边是心脏右边是什么| 女性尿路感染什么原因引起的| 2017年属什么| 吃什么增强抵抗力| coser什么意思| 初三什么时候毕业| 双鱼座和什么星座最配| 女人吃桃子有什么好处| 脑门长痘痘是什么原因| 济南有什么好吃的| 柠檬水喝了有什么好处| 救人一命胜造七级浮屠是什么意思| 清考是什么意思| 娃娃鱼吃什么食物| 嬴荡和嬴政什么关系| hpvhr阳性什么意思| 尿粘液丝高是什么原因| 轻度高血压吃什么食物可以降压| 66岁属什么| 蒲公英是什么样子| 甲龙吃什么| 老是打哈欠是什么原因| 血清铁低是什么原因| 尿颜色很黄是什么原因| 梦见金项链是什么意思| 肤浅什么意思| 秫米是什么米| 中性粒细胞百分比偏低是什么意思| hr是什么品牌| 麦冬的功效与作用是什么| 7月26日是什么星座| 毛戈平化妆品什么档次| 什么的跳| 无机盐包括什么| 真丝乔其纱是什么面料| 失眠什么药最好| 柜姐是什么意思| 决明子有什么功效| 国帑是什么意思| 乌玛王是什么牌子| 查血糖挂什么科| 靛青色是什么颜色| 芭乐是什么意思| 大道无为是什么意思| 先下手为强是什么意思| 什么是c字裤| 脾胃不好吃什么食物可以调理| 口腔发苦是什么原因| 男人下面出汗是什么原因| 什么土方治咳嗽最有效| skg是什么品牌| 蒲公英泡水喝有什么功效| 八月三日是什么星座| 左氧氟沙星治什么病| 总是心慌是什么原因| 金丝玉是什么玉| 动脉导管未闭对宝宝有什么影响| 什么水果补铁效果最好的| 什么是激光| 什么人容易得布病| 嬷嬷是什么意思| 左脸上长痘痘是什么原因| 肠胃不好能吃什么水果| 闻风丧胆指什么动物| 结婚婚检都检查什么项目| 内分泌失调吃什么药效果最好| 肾精亏虚吃什么药| 脑血管堵塞吃什么药好| 一日清闲一日仙是什么生肖| 佳木斯二院全名叫什么| 亚甲炎是什么病| 君子兰的寓意是什么| b超和阴超有什么区别| 如常所愿是什么意思| 纪梵希为什么不娶赫本| gender什么意思| 六月二十六是什么日子| 属猴本命佛是什么佛| 声泪俱下是什么意思| 六月份出生的是什么星座| 肺部ct应该挂什么科| 酸奶不能和什么一起吃| 占便宜是什么意思| 头晕呕吐是什么原因| 古尔邦节什么意思| 男性一般检查什么| 尽善尽美是什么意思| 黄鼻涕吃什么药| 捉摸不透是什么意思| 什么动物吃蜘蛛| 胰腺做什么检查| 指甲发白是什么原因| 不寐病属于什么病症| 水痘长什么样子的图片| 吃什么睡眠最快| 小孩肺热吃什么好清肺热| 开黄腔什么意思| 胃不好适合吃什么食物| 老汉推车什么意思| 北京属于什么方向| 蛋白质被消化成什么| 惊弓之鸟是什么意思| 胸痛一阵一阵的痛什么原因| 头骨凹陷是什么原因| 经期吃榴莲有什么好处| 高送转是什么意思| 2023年属什么生肖| dsa检查是什么| 脑梗挂什么科室| 列文虎克发现了什么| AB型血型有什么优势| 什么样的女孩容易招鬼| 黄山毛峰是什么茶| 615是什么星座| 洛阳以前叫什么名字| 肾阳虚吃什么药好| 梦见买碗是什么意思| 塔利班是什么组织| 舒张压偏高是什么原因造成的| 突然膝盖疼是什么原因| 百度
产品服务
解决方案
文档与支持
定价
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的相关内容,推荐周边其他用户,增强用户社交属性,助力开发者为用户进行精准化营销推送。

下一篇

获取密钥

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

吃饭容易出汗是什么原因 什么是信仰 男性左下腹疼痛是什么原因 发瘟是什么意思 武汉大学校长是什么级别
指甲有竖纹是什么原因 7.28是什么星座 为什么总是耳鸣 金牛女跟什么星座最配 一片狼藉是什么意思
早起的鸟儿有虫吃是什么意思 肋骨下面疼是什么原因 脖子出汗是什么原因 sad是什么意思 桥本甲状腺炎有什么症状
instagram什么意思 衣服五行属什么 燕窝什么人不适合吃 许莫氏结节是什么意思 银925是什么意思
通便吃什么药最快hcv7jop6ns0r.cn cashmere是什么意思hcv8jop9ns2r.cn 甜五行属什么hcv9jop6ns6r.cn 睡觉手麻是什么原因hcv8jop7ns8r.cn 四月23日是什么星座adwl56.com
2028是什么年hcv8jop4ns1r.cn 喝藿香正气水不能吃什么hcv8jop0ns8r.cn 呼吸困难是什么原因引起的hcv9jop3ns8r.cn 北京属于什么气候hcv8jop1ns4r.cn 英国的全称是什么hcv7jop5ns0r.cn
87年属什么的dayuxmw.com 五海瘿瘤丸主要治什么病hcv7jop9ns9r.cn 胸部发炎是什么症状hcv9jop7ns2r.cn 什么孩子该看心理医生hcv8jop1ns2r.cn out什么意思hcv9jop1ns1r.cn
吃什么能提高记忆力hcv8jop5ns5r.cn 3.19是什么星座hcv8jop0ns0r.cn 糖尿病人早餐吃什么好creativexi.com 灰指甲是什么样子hcv8jop0ns3r.cn 68岁属什么生肖hcv9jop6ns7r.cn
百度