百度地图开发之定位以及反地理编码获取周围地理位置
2017-02-27 13:06
591 查看
百度地图定位 + 反地理编码
一.百度地图定位1.百度定位配置代码LocationClientOption option = new LocationClientOption();
option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);//设置定位模式:高精度定位模式,低功耗定位模式和仅用设备定位模
option.setOpenGps(true);// 打开gps:默认不打开
option.setCoorType("bd09ll");//返回的定位结果是百度经纬度,默认值gcj02
option.setScanSpan(5000);//设置发起定位请求的间隔时间为5000ms
option.setIsNeedAddress(true);//返回的定位结果包含地址信息
locationClient = new LocationClient(this);
locationClient.setLocOption(option);
locationClient.registerLocationListener(new ScenesLocationListener());(此处实现BDLocationListener,可以拿到经纬度)2.通过改变地图的位置,获取到地图的中心点经纬度map.setOnMapStatusChangeListener(new BaiduMap.OnMapStatusChangeListener() {
@Override
public void onMapStatusChangeStart(MapStatus mapStatus) {
LatLng ptCenter = map.getMapStatus().target;
setPopupTipsInfo(ptCenter);
}
@Override
public void onMapStatusChange(MapStatus mapStatus) {
}
@Override
public void onMapStatusChangeFinish(MapStatus mapStatus) {
}
});3.通过反地理编码拿到PoiList
geoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() { @Override public void onGetGeoCodeResult(GeoCodeResult geoCodeResult) { if (geoCodeResult == null || geoCodeResult.error != earchResult.ERRORNO.NO_ERROR) { Toast.makeText(SelectLocationActivity.this, getResources().getText(R.string.no_find), Toast.LENGTH_SHORT).show(); return; } LatLng lat = new LatLng(geoCodeResult.getLocation().latitude, geoCodeResult.getLocation().longitude); geoCoder.reverseGeoCode(new ReverseGeoCodeOption().location(lat)); MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(lat); map.clear(); map.animateMapStatus(u); } @Override public void onGetReverseGeoCodeResult(ReverseGeoCodeResult reverseGeoCodeResult) { if (reverseGeoCodeResult == null || reverseGeoCodeResult.error != SearchResult.ERRORNO.NO_ERROR) { Toast.makeText(SelectLocationActivity.this, getResources().getText(R.string.no_find), Toast.LENGTH_SHORT).show(); } else { datas.clear(); List<PoiInfo> poiList = reverseGeoCodeResult.getPoiList(); selectLat = reverseGeoCodeResult.getLocation().latitude; selectLon = reverseGeoCodeResult.getLocation().longitude; if (poiList != null && poiList.size() > 0) { for (int i = 0; i < poiList.size(); i++) { datas.add(poiList.get(i).name); } } adapter.notifyDataSetChanged(); } });}
效果图:
源码下载链接:http://download.csdn.net/detail/qq_17470165/9765349
相关文章推荐
- iOS开发——定位获取经纬度坐标,并反编码获得地理位置信息(具体地址,国家、省、市等)
- 百度地图集成(二):百度定位以及反编译地理位置
- android 定位 获取地理位置 百度地图
- android 百度地图定位开发之时时定位-位置获取
- ios 定位经纬度获取位置信息,地理位置编码与反编码
- iOS开发-百度地图基本定位和罗盘跟随的使用,附加地理编码和反地理编码
- 微信公众号开发《三》微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索
- android百度地图开发V4.5最新版(2)---地理位置的获取
- 微信开发 - 获取用户地理位置定位
- 微信公众号开发《三》微信JS-SDK之地理位置的获取与在线导航,集成百度地图实现在线地图搜索
- Android 百度地图—反地理编码—获取当前位置附近的大厦楼宇
- [android] 百度地图开发 (三).定位当前位置及getLastKnownLocation获取location总为空问题
- Android 基于百度地图开发定位以及获取当前详细地址(一)
- Android——百度地图开发、添加覆盖物、地理编码和反地理编码、以及覆盖物之间的连线
- android 在锁屏或者休眠时 获取定位以及上传定位信息(用的百度地图定位包)和afinal包(主要用afinalHttp)
- 百度地图_根据地图上标记位置获取街道信息,以及经纬度信息
- 利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
- HTML5 地理位置定位 API 接口开发
- 百度地图开发--实现打开地图自动定位到上次定位点然后在定位到自己的位置
- html5中地理位置定位api接口开发应用小结