Android开发 关于百度地图的定位
2015-11-10 19:21
441 查看
一、将普通地图加载到界面
二、之后获取BaiduMap(利用百度空间的get方法获取)
三、获取LocationClient 对象 *上下文要写Application的上下文
四、获取LocationClientOption的对象
五、为这个对象设置参数
option.setLocationMode(LocationMode.Hight_Accuracy);// 高精度
option.setLocationMode(LocationMode.Battery_Saving);// 低功耗定位
option.setLocationMode(LocationMode.Device_Sensors);// 仅用设备
option.setCoorType("bd0911");// 坐标编码
option.setOpenGps(true);// 打开GPS
option.setScanSpan(1000);// 扫描频频率*当扫描时间小于1000毫秒时 地图不会每次扫描强行将当前位置设置为中心
option.setTimeOut(5000);// 超时时间
option.setNeedDeviceDirect(true);// 是否需要手机的方向(设备头的方向)
option.setIsNeedAddress(true);// 是否接收地址信息
六、为LocationClient注册监听
locationClient.registerLocationListener(Listener);
1)这个监听需要BDLocationListener 接口
2) 需要实现onReceiveLocation方法
3)这个方法带有一个BDLocation类型的参数(通过这个参数我们可以获得我们当前位置的经纬度坐标以及手机头方向等数据)
4)用baiduMap.setMyLocationData(data);给百BaiduMap设置定位信息 这是我们需要一个MyLocationData来打包这个信息所以应该在这之前先执行下面代码
MyLocationData data = new MyLocationData.Builder()
.latitude(result.getLatitude())// 获取维度坐标
.longitude(result.getLongitude())// 获取经度坐标
.direction(result.getDirection())// 获取手机头方向
.accuracy(result.getRadius())// 获取定位精度
.build();
5)LatLng ll = new LatLng(result.getLatitude(),
result.getLongitude());
MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll);
baiduMap.animateMapStatus(update);
利用这段代码来将地图刷新使显示的位置更新到定位的位置
七、protected void onDestroy() {
super.onDestroy();
locationClient.unRegisterLocationListener(myLocationListener);
locationClient.stop();
}
最后关闭资源
二、之后获取BaiduMap(利用百度空间的get方法获取)
三、获取LocationClient 对象 *上下文要写Application的上下文
四、获取LocationClientOption的对象
五、为这个对象设置参数
option.setLocationMode(LocationMode.Hight_Accuracy);// 高精度
option.setLocationMode(LocationMode.Battery_Saving);// 低功耗定位
option.setLocationMode(LocationMode.Device_Sensors);// 仅用设备
option.setCoorType("bd0911");// 坐标编码
option.setOpenGps(true);// 打开GPS
option.setScanSpan(1000);// 扫描频频率*当扫描时间小于1000毫秒时 地图不会每次扫描强行将当前位置设置为中心
option.setTimeOut(5000);// 超时时间
option.setNeedDeviceDirect(true);// 是否需要手机的方向(设备头的方向)
option.setIsNeedAddress(true);// 是否接收地址信息
六、为LocationClient注册监听
locationClient.registerLocationListener(Listener);
1)这个监听需要BDLocationListener 接口
2) 需要实现onReceiveLocation方法
3)这个方法带有一个BDLocation类型的参数(通过这个参数我们可以获得我们当前位置的经纬度坐标以及手机头方向等数据)
4)用baiduMap.setMyLocationData(data);给百BaiduMap设置定位信息 这是我们需要一个MyLocationData来打包这个信息所以应该在这之前先执行下面代码
MyLocationData data = new MyLocationData.Builder()
.latitude(result.getLatitude())// 获取维度坐标
.longitude(result.getLongitude())// 获取经度坐标
.direction(result.getDirection())// 获取手机头方向
.accuracy(result.getRadius())// 获取定位精度
.build();
5)LatLng ll = new LatLng(result.getLatitude(),
result.getLongitude());
MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll);
baiduMap.animateMapStatus(update);
利用这段代码来将地图刷新使显示的位置更新到定位的位置
七、protected void onDestroy() {
super.onDestroy();
locationClient.unRegisterLocationListener(myLocationListener);
locationClient.stop();
}
最后关闭资源
相关文章推荐
- 分享:Android Studio 导入第三方jar包,重复加载错误解决办法。
- android中aidl的简单使用
- Android快速SDK(6)本地图形库CopyView
- android自定义View控件,实现自定义进度条控件
- ScrollView中listview显示不全的问题
- Android打包APK遇到的错误]conversion to dalvik format failed with error 1的解决办法
- android优化图片内存
- Android自定义控件
- Gradle对Maven的支持(Android开发)
- Android中View的事件分发机制
- 导出android测试机中数据库的步骤
- android设置外部字体
- Android 5.0 6.0主题引擎参考资料
- cordova android项目自定义插件及使用(二)
- Android开发历程之六
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- Android.mk多级目录源码的编写
- android源码下载与编译过程记录
- android studio 添加Library module
- Android studio mac 快捷键