六月八号是什么星座| 机缘是什么意思| 一花一世界一叶一菩提什么意思| 什么是安全| 胃痛胃胀吃什么药| 什么叫双开| 脸部下垂什么方法提升效果好| 85属什么| 大v什么意思| vera是什么意思| seeya是什么意思| 北京大学校长是什么级别| 静电对人体有什么危害| 阴瑜伽是什么意思| 羊水是什么味道| 无赖不还钱最怕什么| 右眼跳是什么原因| 狗狗窝咳吃什么药最好| 乙肝表面抗体阴性是什么意思| 追什么| 吃靶向药不能吃什么| 殿试第一名叫什么| 非浅表性胃炎是什么意思| 脚后跟干裂起硬皮用什么药| 什么的跳舞| 他叫什么名字| 鼓风机是干什么用的| 甲沟炎是什么原因引起的| 蛇缠腰是什么病怎么治| 梦见手机摔碎了是什么意思| 什么病才查凝血四项呢| bacardi是什么酒| 骨折后吃什么好的快| 红眼病什么症状| 湿疹用什么药效果好| 怀孕两个星期有什么反应| 蟹黄是螃蟹的什么东西| 日本浪人是什么意思| 厉兵秣马什么意思| 脚肿什么原因引起的| 2006年出生属什么| vam是什么意思| 痛经吃什么止疼药| 血压低有什么症状| 孟买血型是什么意思| 梦见小葱是什么意思| 安络血又叫什么名| 骨密度高是什么意思| 95年属什么| 女性解脲支原体阳性是什么意思| 人为什么会咳嗽| 摩羯座是什么象| 梦见挖红薯是什么意思| 大便发黑是什么情况| 眼睛突然出血是什么原因导致| 继承衣钵是什么意思| 常吃黑芝麻有什么好处和坏处| 芈月是秦始皇什么人| 减肥最快的方法是什么| 农历八月初一是什么星座| 怀孕吃什么会流产| 尿蛋白微量是什么意思| 什么颜色可以调成红色| 发蜡和发泥有什么区别| 凶狠的反义词是什么| 助力油是什么油| 为什么外阴老是长疖子| 高血糖吃什么降得快| 吃什么蔬菜对眼睛好| 脸上长黑斑是什么原因引起的| 尿很臭是什么原因女性| 娭毑是什么意思| 心口下面疼是什么原因| 官宣是什么意思| 喘气费劲是什么原因| 羊吃什么食物| 穿山甲说了什么| 胃寒是什么原因引起的| 三世诸佛是什么意思| 山海经是什么| 跳梁小丑指什么生肖| 2008年属什么生肖| 致电是什么意思| 胸闷气短咳嗽是什么原因引起的| 有什么好看的美剧| 感觉有痰咳不出来是什么原因| 绿树成荫是什么季节| 眩晕症是什么原因引起| 郫县豆瓣酱能做什么菜| 条件反射是什么| 鼓目念什么| 月柱金舆是什么意思| 菠萝为什么要用盐水泡| 心智不成熟是什么意思| 吕布的马叫什么| 1919年发生了什么| 清洁度三度是什么炎症| 开庭前家属做什么准备| 邦顿手表是什么档次| 养狗有什么好处| 2027年属什么生肖| 智能手环什么品牌好| 寒冷性荨麻疹是什么原因引起的| 什么是尿崩症| 杀子痣是什么意思| 什么样的教诲| 化验血能查出什么项目| 螳螂捕蝉黄雀在后是什么生肖| 本来无一物何处惹尘埃是什么意思| 前列腺钙化有什么症状| 什么叫同型半胱氨酸| 悉如外人的悉是什么意思| 吃什么治拉肚子| 性状是什么意思| 格列卫是什么药| 吃蜂蜜有什么好处| 七五年属什么生肖| 梦到绿色的蛇是什么意思| 基础代谢是什么| 肉蔻炖肉起什么作用| 玉兰花什么季节开| 今年什么生肖| 梦见一个人说明什么| 什么是单核细胞百分比| 什么书买不到| 超敏c反应蛋白高是什么意思| 无印良品是什么意思| 出轨是什么意思| 大本营是什么意思| omega3是什么意思| 结扎对男人有什么伤害| 玉镯子断了有什么预兆| 吐完后胃不舒服应该吃什么呢| 控制欲是什么意思| 高反人群一般是什么人| 解酒喝什么饮料| 重阳节吃什么好| 镶牙是什么意思| 金骏眉属于什么茶| 人彘为什么还能活着| mico是什么意思| 胃不好吃什么| 手指缝里长水泡还痒是什么原因| 足字旁的有什么字| 慌张的反义词是什么| 乳化是什么意思| kb是什么| 女人代谢慢吃什么效果最快| 二月十七是什么星座| 筝是什么意思| 牛仔裤配什么鞋好看| gloomy是什么意思| 红酒兑什么好喝| 走花路是什么意思| 张家界莓茶有什么功效| 头疼发烧是什么原因| 心脏病有什么症状表现| 减肥早餐适合吃什么| 什么的银发| 造影是什么检查| 宝宝低烧是什么原因引起的| 椎间盘突出是什么意思| 幽门螺旋杆菌是什么病| 3月30号是什么星座| 眼睛疼滴什么眼药水| 7月4号是什么星座| 母亲节要送什么礼物| 脑梗能吃什么水果| 筋膜炎是什么症状| 女生男相的是什么命| 地豆是什么| 用盐水洗脸有什么好处| xl代表什么尺码| 照身份证穿什么颜色的衣服| 月光石五行属什么| 莎字五行属什么| 扁桃体切除有什么影响| zara是什么意思| 7月属什么生肖| 养肝吃什么食物| 单脐动脉是什么意思| 在岸人民币和离岸人民币什么意思| 心肾不交是什么意思| 牙齿突然出血是什么原因| 人瘦了是什么原因| 吃什么食物养肝| 女生为什么会喷水| 淮山是什么| 薄熙来为什么被抓| 鸡男配什么属相最好| 考号是什么| 1969属什么生肖| 驻马店有什么大学| 海鲜菇不能和什么一起吃| 血尿吃什么药见效快| 婴儿枕头里面装什么好| 什么叫空调病| 冒失是什么意思| 眼睛的睛可以组什么词| 吓得什么填空| 绝对值是什么意思| 燥湿什么意思| 前纵韧带钙化是什么意思| 右眼一直跳是什么预兆| 骨折吃什么恢复得快| 主动权是什么意思| 什么大什么功| 吃鱼生后吃什么打虫药| 不走心是什么意思| 宝宝大便发白是什么原因| 怀疑心梗做什么检查| 数字2代表什么意思| 三月生日是什么星座| plus什么意思| 小孩测骨龄挂什么科| 手指盖空了是什么原因| 颈部淋巴结肿大挂什么科| 香港说什么语言| 肾结石有什么影响| 什么的朋友| 什么叫私人会所| 黄子韬爸爸是干什么的| 石钟乳是什么意思| 血红蛋白低吃什么可以补起来| 什么病不能吃虾| 骨龄是什么| 唐氏儿是什么意思| 为什么尿有点偏红色| 浮世清欢什么意思| 96年属什么命| lv是什么意思| prp是什么| 嘴唇为什么会变黑| 空调健康模式是什么意思| 秋五行属什么| 咳嗽一直不好什么原因| 苹果为什么叫苹果| 上午9点是什么时辰| 砂仁是什么| 3月7号什么星座| 36是什么意思| 吃榴莲对女人有什么好处| 木堂念什么| 开颅手术有什么后遗症| 朝九晚五是什么意思| 什么是甘油三酯| 小孩子不吃饭是什么原因引起的| 红细胞计数偏高是什么意思| 1976年五行属什么| 梦见自己会开车了是什么意思| 折叠胆囊是什么意思| 卧蚕是什么意思| 4月29号0点是什么时候| 打完疫苗不能吃什么| 1946年属什么| 上海曙光医院擅长什么| 什么情况下会得甲亢| 三七粉不适合什么人吃| 性格是什么意思| 阑尾在人体的什么位置| 雄鹰是什么意思| 一蹴而就什么意思| 宝齐莱手表什么档次| 慢性结肠炎吃什么药好| 百度
产品服务
解决方案
文档与支持
定价
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的相关内容,推荐周边其他用户,增强用户社交属性,助力开发者为用户进行精准化营销推送。

下一篇

获取密钥

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

神的国和神的义指的是什么 身上长小肉揪是什么原因 尿酸高看什么科 食铁兽是什么动物 夏天晚饭吃什么比较好
ck属于什么档次 lcc是什么意思 胃镜预约挂什么科 吃什么食物可以降低尿酸 lmp是什么意思
铁蛋白高吃什么药能降下来 茶壶里煮饺子的歇后语是什么 吃葡萄对身体有什么好处 煲排骨汤放什么材料好 成熟是什么意思
乳房头疼是什么原因 hiv阴性是什么意思 noah是什么牌子 黑蓝色是什么颜色 梦见自己开车是什么意思
梦见青蛙是什么意思hcv8jop0ns3r.cn 肝红素高是什么原因hcv9jop3ns8r.cn mido手表什么牌子hcv9jop0ns8r.cn 男蛇配什么属相最好chuanglingweilai.com 核桃什么时候成熟hcv8jop1ns3r.cn
慢性胃炎用什么药效果最好xjhesheng.com 冬天种什么蔬菜合适bjcbxg.com 雌二醇过高是什么原因hcv9jop7ns0r.cn 降压药什么时间吃最好hcv8jop0ns3r.cn 1月29日什么星座hcv9jop5ns9r.cn
处心积虑是什么意思hcv8jop5ns2r.cn 际会是什么意思hcv9jop0ns8r.cn 食管有烧灼感什么原因hcv8jop6ns4r.cn 丑拒是什么意思hcv9jop8ns0r.cn 心肌缺血是什么意思hcv9jop4ns8r.cn
家徒四壁是什么生肖hcv9jop0ns8r.cn 橘子是什么季节bysq.com 吃皮蛋不能和什么一起吃hcv9jop7ns0r.cn 细胞角蛋白19片段是什么意思hcv8jop7ns1r.cn 蛇喜欢吃什么chuanglingweilai.com
百度