安卓开发-百度地图-利用LocationClient定位到当前位置

1.定义 定位客户端 并且用getApplicationContext()【官方推荐】初始化:

LocationClient mBdLocationManager = new LocationClient(getApplicationContext());

2.为定位客户端配置定位所需要的参数:

LocationClientOption lcOption = new LocationClientOption();

//设置定位模式:高精度,低功耗,仅设备
lcOption.setLocationMode(LocationMode.Hight_Accuracy);
//设置坐标系
lcOption.setCoorType("bd09ll");
//设置GPS打开
lcOption.setOpenGps(true);
//设置需要地址信息
lcOption.setIsNeedAddress(true);
//设置每秒更新一次位置信息
lcOption.setScanSpan(1000);
//设置需要位置描述信息
lcOption.setIsNeedLocationDescribe(true);

mBdLocationManager.setLocOption(lcOption);

3.为位置客户端注册位置监听器并实现:

mBdLocationManager.registerLocationListener(mBdLocationListener);

private BDAbstractLocationListener mBdLocationListener = new BDAbstractLocationListener() {
        //当位置对象为空或者因为退出而到时地图对象销毁为空时,不监听
        public void onReceiveLocation(BDLocation location) {
            if (location == null || mMapView == null)  
                return;  

            Log.v("aaa","方向:" + location.getDirection() + ",纬度:" + location.getLatitude()
                    + ",经度:" + location.getLongitude()
                    + ",时间:" + location.getTime() + ",描述:"
                    + location.getLocationDescribe() + ",地址:" + location.getAddrStr() + ",精度:" + location.getRadius());
        }
    };

4.定位客户端开始启动定位:

mBdLocationManager.start();

5.实现定位到当前位置并且有图标:

5.1:地图对象开启定位图层:
mBaiduMap.setMyLocationEnabled(true);
5.2:地图对象设置定位时的地图缩放级别(500米):
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo(15.0f));
5.3:为地图对象设置定位数据:精度,方向,经度,纬度
MyLocationData locData = new MyLocationData.Builder()
                                .accuracy(location.getRadius())
                                .latitude(location.getLatitude())
                                .longitude(location.getLongitude())
                                .direction(100)
                                .build();

mBaiduMap.setMyLocationData(locData);
5.4:为地图对象配置参数:定位方式(罗盘态,跟随态,常态),是否允许显示方向,用户自定义显示图标:
MyLocationConfiguration myLocConfig = new MyLocationConfiguration(locationMode, true, mLocBitmap);

mBaiduMap.setMyLocationConfiguration(myLocConfig);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值