Android百度地图使用之定位
来源:互联网 发布:php header image 编辑:程序博客网 时间:2024/05/17 05:55
基安卓于百度地图的定位使用
地图在开发中使用的频率相当的高,我个人推荐高德地图,因为其定位误差比百度要小的多,无奈公司让用百度地图,既如此我就来说说地图的基本功能–定位。
第一步,你去官网下载百度地图的SDK,去控制台申请一个AK,在dos窗口中获取sha1码。
第二步,初始化地图引擎
第三步,初始化BaiDuMap对象。
/** * 地图初始化 */private void initMap() { //获取地图控件引用 mMapView = (MapView) findViewById(R.id.bmapView); mBaiduMap = mMapView.getMap(); mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); //开启交通图 mBaiduMap.setTrafficEnabled(true); mCurrentMode = LocationMode.NORMAL; // 开启定位图层 mBaiduMap.setMyLocationEnabled(true); //自定义定位图标 mCurrentMarker = BitmapDescriptorFactory.fromResource(R.drawable.icon_geo); MyLocationConfiguration configuration =new MyLocationConfiguration(mCurrentMode,true,mCurrentMarker); //设置定位图层配置信息,只有先允许定位图层后设置定位图层配置信息才会生效,参见 setMyLocationEnabled(boolean) mBaiduMap.setMyLocationConfigeration(configuration); // 定位初始化 mLocClient = new LocationClient(this); mLocClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setOpenGps(true); // 打开gps option.setCoorType("bd09ll"); // 设置坐标类型 option.setScanSpan(1000); option.setAddrType("all"); //加上这个配置后才可以取到详细地址信息 mLocClient.setLocOption(option); mLocClient.start();//开始定位} 第四步,定位回调 public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) {
// mLatResult = location.getLatitude();
// mLngResult = location.getLongitude();
// location.getLocType();
// mPoiResult = location.getAddrStr();
Log.d(“结果”, “onReceiveLocation: ” +”经度”+ location.getLatitude()+”维度”+location.getLongitude());
if (location == null || mMapView == null) { Toast.makeText(LocationActivity.this, "定位失败", Toast.LENGTH_SHORT).show(); return; } MyLocationData locData = new MyLocationData.Builder().accuracy(location.getRadius()) // 此处设置开发者获取到的方向信息,顺时针0-360 .direction(5)//设定图标方向 .latitude(location.getLatitude()) //百度纬度坐标 .longitude(location.getLongitude())//百度经度坐标 .build(); //设置定位数据, 只有先允许定位图层后设置数据才会生效 mBaiduMap.setMyLocationData(locData); //配置定位图层显示方式,三个参数的构造器 /*
* 1.定位图层显示模式
* 2.是否允许显示方向信息
* 3.用户自定义定位图标
*
* */
if (isFirstLoc) { isFirstLoc = false; LatLng ll = new LatLng(location.getLatitude(), location.getLongitude()); MapStatus.Builder builder = new MapStatus.Builder(); builder.target(ll).zoom(18.0f); mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); } } public void onReceivePoi(BDLocation poiLocation) { }}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
// 退出时销毁定位
mLocClient.stop();
// 关闭定位图层
mBaiduMap.setMyLocationEnabled(false);
mMapView.onDestroy();
mMapView = null;
}
@Overrideprotected void onResume() { super.onResume(); //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理 mMapView.onResume();}@Overrideprotected void onPause() { super.onPause();
,
//在ac了
ivity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}
- Android百度地图使用之定位
- Android百度地图之定位
- android 使用百度地图定位
- Android使用百度地图定位
- Android 百度地图开发之地图定位
- Android之百度地图定位最详细使用总结
- Android百度地图之定位功能(结合百度地图API)
- Android之百度地图GPS定位
- android百度地图(二)之定位
- Android 开发百度地图之二定位
- android百度地图开发之定位
- Android开发笔记之百度地图定位
- android百度地图---使用API定位不成功
- Android百度定位地图使用--文章集锦
- Android-百度地图定位的使用
- 百度地图之定位
- 百度地图之定位
- 百度地图之定位
- string类
- ORACLE--死锁
- Spring之IOC容器的实现
- 解决页面跳转 返回刷新还是不刷新问题
- event源码简介
- Android百度地图使用之定位
- SQLite使用JSON扩展
- Django-ORM(二之QuerySet)
- 苏嵌 17.03.07
- 【VS开发】最小化到托盘 shell_notifyicon和NOTIFYICONDATA
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- nginx.conf配置文件详解
- Git客户端下载及安装
- 基于OpenStreetMap地图数据的离线路径规划