什么是黄色视频| 两个人背靠背是什么牌子| hbsab阳性是什么意思| 血糖高能吃什么| 直径是什么| 海马有什么功效作用| hl代表什么| 痛风什么药止痛最快| 飞是什么结构| 黄皮果什么时候成熟| 心理疾病吃什么药| 拉屎臭是什么原因| 日本为什么投降| 睾丸痛是什么原因| 猫咪结膜炎用什么药好| mrna是什么| 家里为什么会有壁虎| 狗狗拉虫子又细又长吃什么药| 梦见门坏了什么意思| 清福是什么意思| 一心向阳下一句是什么| 分拣员是做什么的| 黄褐斑是什么样的图片| 脾胃虚吃什么调理| 偷是什么生肖| 腘窝囊肿是什么原因引起的| 为什么不建议吃茵栀黄| 浅表性胃炎用什么药| 小孩突然抽搐失去意识是什么原因| 日光性皮炎用什么药膏最有效| 三尖瓣关闭不全是什么意思| 秋天什么水果成熟| 精索静脉曲张有什么症状| 拜读是什么意思| 深度水解奶粉是什么意思| 梦见塌方是什么预兆| 酚咖片是什么药| 12月25日是什么日子| 虾虎鱼吃什么| 碍事是什么意思| 梦见水里有蛇是什么意思| 尿素氮是什么| 肠系膜淋巴结炎吃什么药最有效| 上面一个日下面一个立是什么字| 小肠换气吃什么药| 复合维生素b片主治什么病| 肺气肿吃什么食物| 牙龈上火吃什么药| 怀孕胎盘低有什么影响| kissme什么意思| 40岁属什么生肖| 心肌劳损的症状是什么| 什么是百慕大三角| 复古是什么意思| 胃胀吃什么水果| 1943年属什么| dna里面有什么| 检查乳房挂什么科| 妊娠试验阴性是什么意思| 什么是舍利| 八大菜系之首是什么菜| 大便干燥拉不出来是什么原因| ipv是什么疫苗| 喝什么解酒| 耳聋是什么原因引起的| 越吃越瘦是什么原因| 7.4是什么星座| 肌肉痉挛用什么药能治好| art是什么意思| 养阴生津是什么意思| 女人什么身材最好看| ab阳性血型是什么血型| 卓玛什么意思| 女生第一次是什么感觉| 血精和精囊炎吃什么药| 肩周炎属于什么科室| 化肥对人体有什么危害| 一什么清凉| 三八妇女节是什么生肖| 鼻尖痒是什么原因| 什么是肝阳上亢| 南京有什么好玩的地方| 金银花有什么效果| poscer是什么牌子| 什么流砥柱| foreplay是什么意思| 罗曼蒂克什么意思| 口腔溃疡缺什么| 红豆与赤小豆有什么区别| camp是什么| 烟囱是什么意思| 龟头炎用什么药好| 铁棍山药和普通山药有什么区别| 小青柑是什么茶类| 三月初一是什么星座| 糖类抗原ca125偏高是什么原因| 心室预激是什么意思| 秋葵什么时候播种| 误喝碘伏有什么伤害吗| 背后长痘是什么原因| 脂肪瘤挂什么科| 喝酒前喝什么不容易醉| 入户口需要什么资料| chloe什么牌子| 读什么| 秦始皇叫什么名字| 美丽的动物是什么生肖| 上房是什么意思| 不带壳的蜗牛叫什么| 奥美拉唑治什么胃病| 血压高有什么好办法| 什么是中线| 一个白一个本是什么字| 脖子里面有结节是什么病| 朱元璋属什么生肖| 网球ad是什么意思| 用牛奶敷脸有什么好处和坏处| 残局是什么意思| 蒲公英有什么好处| 边缘心电图是什么意思| 4a广告公司什么意思| 农历五月初五是什么节| 脚后跟疼是什么情况| 伤寒病有什么症状| 头孢过敏什么症状| 引产和流产有什么区别| 剑客是什么意思| 一月十一是什么星座| 两个c是什么牌子| 为什么会长火疖子| 营养师是干什么的| 登革热是什么症状| 心率过慢有什么危害| 红小豆和赤小豆有什么区别| 1111是什么意思| 右胸上方隐痛什么原因| 什么国家的钱最值钱| 伏脉常见于什么病| 四个月念什么| 天方夜谭是什么意思| 掉头发吃什么维生素| 无缘无故头疼是什么原因| 文化大革命是什么时候开始的| 1月3日是什么星座| 慢性荨麻疹是什么原因引起的| 300年前是什么朝代| 一饿就心慌是什么原因引起的| 99年发生了什么事情| 翌是什么意思| 海马是什么类动物| 挂急诊和门诊有什么区别| 什么生花| 丙三醇是什么东西| 扁平疣用什么药膏管用| 为什么会得肺癌| 二月一号是什么星座| 新生儿什么时候能看见东西| 丹参有什么作用和功效| 香醋和陈醋有什么区别| 水仙是什么茶| 羊猄皮是什么皮| poems综合征是什么病| 鬼剃头是因为什么原因引起的| yy飞机票是什么| 胆囊结晶是什么意思| 韧带损伤挂什么科| 汗管瘤什么原因造成| 海绵体充血不足吃什么药| 备孕要吃什么| 神机妙算是什么生肖| 内痔是什么样的图片| 专业服从是什么意思| 输尿管不扩张什么意思| 微博是什么意思| 史无前例是什么意思| 朱元璋是什么民族| 儿童头痛挂什么科| 镜面人是什么意思| cpm是什么意思| 蚕除了吃桑叶还能吃什么| 新陈代谢慢是什么原因| 尿酸高喝什么水最好| 肝病有什么征兆| 公关是什么意思| 孙悟空姓什么| 破壁是什么意思| 预计是什么意思| 今天什么日| 粘液阳性是什么意思| 鲜为人知什么意思| 饮料喝多了有什么危害| 什么气什么足| 为什么会有床虱| 暖寿是什么意思| 肾结石什么东西不能吃| 正师级相当于地方什么级别| 澳门用什么币种| 东吴是现在的什么地方| 洛神花有什么功效| 会所是什么意思| 盐酸安罗替尼胶囊主要治疗什么| 什么把什么造句子| 张学良为什么不回大陆| 胎盘做成胶囊吃有什么好处| 38妇女节送老婆什么礼物| 喉咙痛用什么药好得快| 艾迪生病是什么病| 什么原因导致卵巢早衰| 骨钙素是什么| 四月初五是什么星座| 妈妈生日送什么礼物好| 吃盐吃多了有什么危害| 做nt需要做什么准备| 角色扮演是什么意思| 沛是什么意思| 喉咙有白点是什么原因| 拉杆箱什么材质好| 眼睛肿痛什么原因| 大豆和黄豆有什么区别| 歺是什么意思| 无性别是什么意思| 10万个为什么| 眼缘是什么意思| 附属医院是什么意思| 子息克乏是什么意思| 胃糜烂和胃溃疡有什么区别| 露从今夜白下一句是什么| 皮质醇是什么| 女生排卵期是什么时候| 胃胀气用什么药最好| 太监和宫女对食是什么意思| 西瓜什么季节成熟| 为什么会全身酸痛| 螯合剂是什么| 辅酶q10是什么东西| 怀孕有什么现象| 武将是什么生肖| 年柱亡神是什么意思| 皮肤过敏用什么药| 石榴木命是什么意思| 什么样的人着床晚| 喝什么茶去火排毒祛痘| 梦见自己穿孝衣有什么征兆| 喝水都会胖是什么原因| 4090是什么意思| 属狗的是什么命| 控制血糖吃什么食物| 开车穿什么鞋最好| 瘦肉是什么肉| 等闲变却故人心却道故人心易变什么意思| 手腕比喻什么| 晨尿茶色是什么原因| 代言是什么意思| 活学活用是什么意思| 第二性征是什么| 晕是什么意思| 尿无力是什么原因| 胱抑素c高是什么原因| 什么防晒霜效果最好| 什么人入什么| 二米饭是什么| 83年是什么年| 金丝玉是什么玉| 96166是什么电话| 百度
产品服务
解决方案
文档与支持
定价
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的相关内容,推荐周边其他用户,增强用户社交属性,助力开发者为用户进行精准化营销推送。

下一篇

获取密钥

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

胎盘粘连是什么原因造成的 ga是什么牌子 bolon是什么牌子眼镜 高考四百分左右能上什么学校 有人的地方就有江湖什么意思
嗓子痒干咳吃什么药 戴帽子是什么意思 唇炎用什么药膏 扬州有什么好玩的 脾湿热吃什么中成药
脑供血不足用什么药好 老鼠为什么会飞 腿麻是什么原因 梨和什么一起榨汁好喝 花孔雀是什么意思
腿长身子短有什么说法 虎父无犬子什么意思 伤风败俗是什么意思 挪威用什么货币 阿佛洛狄忒是什么神
口差念什么zhongyiyatai.com 气溶胶是什么hcv7jop5ns6r.cn 情缘是什么意思hcv7jop5ns4r.cn 上海市长是什么级别hcv9jop4ns4r.cn 身份证有什么用jasonfriends.com
什么情况下挂疼痛科hcv8jop1ns6r.cn 做什么检查需要空腹hcv9jop7ns3r.cn 仓鼠能吃什么水果hcv8jop3ns7r.cn 医院门特是什么意思hcv8jop0ns3r.cn 8月11日是什么星座hcv8jop1ns6r.cn
什么时候看到的月亮最大hcv9jop1ns4r.cn 麦昆牌子是什么档次hcv8jop3ns7r.cn 凉皮是什么材料做的hcv7jop7ns0r.cn 做hpv检查前要注意什么tiangongnft.com 益生菌什么时间吃最好hcv9jop3ns4r.cn
补充电解质是什么意思hanqikai.com wc的完整形式是什么hcv8jop7ns0r.cn 下午5点半是什么时辰hcv8jop7ns2r.cn 陈慧琳属什么生肖ff14chat.com 跖围是什么意思hcv9jop5ns2r.cn
百度