浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

Android 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

简介

1. 什么是周边雷达功能?

周边雷达功能,是面向移动端开发者的一套SDK功能接口。同步支持Android和iOS端。它的本质是一个连接百度LBS开放平台前端SDK产品和后端LBS云的中间服务。

8fb2ad6c-e0cf-47c2-b72d-cae5f6531278.JPG

2. 利用周边雷达能够实现什么?

开发者利用周边雷达功能,可以便捷的在自己的应用内,帮助用户实现查找周边跟“我”使同样一款App的人,这样一个功能。

3. 周边雷达功能的典型使用场景

(1)查看周边都有谁跟“我”使用同一个App,分布在哪里?

(2)查看周边用户在听什么歌、看什么文章、有什么新动态?

(3)查看周边有什么最新发生的新闻、资讯?

4. 使用周边雷达功能的流程

第一步、注册周边雷达

在使用周边雷达功能之前,需要对应用的密钥(Key)做相应的注册操作。周边雷达支持应用位置信息上传,及一个或多个应用之间实现相互的位置信息查看功能。

第二步、集成SDK

周边雷达是地图SDK产品的一个功能模块,需要使用周边雷达功能的开发者,需在官网下载包含周边雷达功能的地图SDK,并将其集成到自己的开发环境中即可。

具体SDK集成方式请参考《开发指南 – 配置环境及发布》章节的介绍。

第三步、开发

完成周边雷达注册和SDK集成后,即可开始具体功能的开发工作。

具体使用方法请参考后文的详细介绍及官方Demo示例。

坐标说明

百度地图SDK接口和返回内容的坐标目前仅支持百度BD09坐标,如果您使用的是GPS WGS84坐标或国测局GCJ02坐标,需要将WGS84坐标或GCJ02坐标转换为BD09坐标。

相应的接口和转换方法请参考坐标转换请勿使用非官方的转换方法。

注册周边雷达功能

注册周边雷达是使用其相应功能的基础前提。通过注册可实现一个或多个应用之间的关系绑定,实现相互之间的位置信息查看。

点击如下按钮,进入我的周边雷达管理及新建页面。

2.png

初始化周边雷达功能

在使用位置信息上传和检索周边位置信息之前,需要对周边雷达功能模块进行初始化操作。初始化的核心代码如下:

RadarSearchManagermManager = RadarSearchManager.getInstance();

位置信息上传

周边雷达功能模块,支持将用户的位置等信息上传到百度LBS云服务,从而实现应用内部及应用之间的位置信息查看。

目前支持单次位置信息上传和位置信息连续自动上传两种模式。

单次位置信息上传的核心代码如下:

//周边雷达设置监听
mManager.addNearbyInfoListener(this);
//周边雷达设置用户身份标识,id为空默认是设备标识
mManager.setUserID(userID);
//上传位置
RadarUploadInfo info = new RadarUploadInfo();
info.comments = “用户备注信息”;
info.pt = pt;
mManager.uploadInfoRequest(info);
//监听上传结果
@Override
publicvoidonGetUploadState(RadarSearchError error) {
	// TODO Auto-generated method stub
	if (error == RadarSearchError.RADAR_NO_ERROR) {
		//上传成功
		Toast.makeText(RadarDemo.this, "单次上传位置成功", Toast.LENGTH_LONG)
				.show();
	} else {
		//上传失败
		Toast.makeText(RadarDemo.this, "单次上传位置失败", Toast.LENGTH_LONG)
				.show();
	}
}

位置信息连续自动上传的核心代码如下:

//设置自动上传的callback和时间间隔
mManager.startUploadAuto(this, 5000);
//实现上传callback,自动上传
@Override
publicRadarUploadInfoOnUploadInfoCallback() {
	// TODO Auto-generated method stub
	RadarUploadInfo info = new RadarUploadInfo();
	info.comments = “用户备注信息”;
	info.pt = pt;
	return info;
}

周边位置检索

利用周边雷达功能,可实现周边(处于同一个周边雷达关系内)用户位置信息检索的能力。 检索过程支持距离、时间等约束条件;返回结果支持按照距离、时间远近的排序。

核心代码如下:

//构造请求参数,其中centerPt是自己的位置坐标
RadarNearbySearchOption option = newRadarNearbySearchOption().centerPt(pt).pageNum(pageIndex).radius(2000);
//发起查询请求
mManager.nearbyInfoRequest(option);
@Override
publicvoidonGetNearbyInfoList(RadarNearbyResult result,
		RadarSearchError error) {
	// TODO Auto-generated method stub
	if (error == RadarSearchError.RADAR_NO_ERROR) {
		Toast.makeText(RadarDemo.this, "查询周边成功", Toast.LENGTH_LONG)
			.show();
		//获取成功,处理数据
	} else {
		//获取失败
		Toast.makeText(RadarDemo.this, "查询周边失败", Toast.LENGTH_LONG)
			.show();
	}
}

清除用户信息

用户信息清除后,将不会再被其他人检索到。

清除信息的核心代码如下:

mManager.clearUserInfo();
//处理清除的监听
@Override
publicvoidonGetClearInfoState(RadarSearchError error) {
	// TODO Auto-generated method stub
	if (error == RadarSearchError.RADAR_NO_ERROR) {
		//清除成功
		Toast.makeText(RadarDemo.this, "清除位置成功", Toast.LENGTH_LONG)
			.show();
	} else {
		//清除失败
		Toast.makeText(RadarDemo.this, "清除位置失败", Toast.LENGTH_LONG)
			.show();
	}
}

释放周边雷达资源

在停止使用周边雷达功能时,需释放资源。初始化的核心代码如下:

//移除监听
mManager.removeNearbyInfoListener(this);
//清除用户信息
mManager.clearUserInfo();
//释放资源
mManager.destroy();
mManager = null;