double lon = bdLocation.getLongitude();
String detailAddress = bdLocation.getAddrStr();// 详情的地址信息
String city = bdLocation.getCity();
String cityCode = bdLocation.getCityCode();
String info = city + " " + cityCode
+ lat + " " + lon + " " + detailAddress;
showToast(info);
MyLocationData myLocationData = new MyLocationData.Builder()
.latitude(lat)
.longitude(lon)
.accuracy(bdLocation.getRadius())// 显示的精度
.build();
// 设置定位到坐标数据
mBaiduMap.setMyLocationData(myLocationData);
}
});
}
private void initLocationClientOption() {
// 设置定位的参数
LocationClientOption option = new LocationClientOption();
option.setCoorType("bd09ll"); // 设置坐标系
option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); // 定位模式,精度最高
option.setScanSpan(5000000); // 设置定位刷新频率:5s刷新一次位置
option.setIsNeedAddress(true); // 是否返回详情的地址信息
mLocationClient.setLocOption(option);
}
private void beginLocation() {
mLocationClient.start();}
2 附近信息
由定位信息,可以查询到所在点周围的服务、交通或者旅游胜地等情况。附近信息如图5.4所示:
图5.4 附近信息图
主要实现代码如下所示:
private void initSearch() {
// 初始化搜索对象
mPoiSearch = PoiSearch.newInstance();
// 设置监听器,接收搜索结果数据
mPoiSearch.setOnGetPoiSearchResultListener(new OnGetPoiSearchResultListener() {
@Override // 获取搜索列表数据(多条)
public void onGetPoiResult(PoiResult result) {
if (result == null || result.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) {
showToast("未搜索到数据");
return;
}
String info = getPoiResultInfo(result); 基于Android的大学生生活小助手设计与开发(9):http://www.751com.cn/jisuanji/lunwen_1423.html