Android定位,百度SDK,百度定位

百度地图定位SDK提供了GPS、基站、WiFi、地磁、蓝牙、传感器等多种定位方式,适用于室内、室外多种定位场景,定位精度高、覆盖率广、网络定位请求流量小、定位速度快;

 官方API:Android定位SDK  | 百度地图API SDK

引入百度SDK 

dependencies {
    implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.3.7' //百度地图,基础定位组件
}

 

参考代码 

    public void initLocationOption() {
        //配置定位参数
        LocationClientOption option = new LocationClientOption();
        //可选,默认高精度,设置定位模式,高精度,低功耗,仅设备
        option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);
        //可选,设置是否需要地址信息,默认不需要
        option.setIsNeedAddress(true);
        //可选,默认false,设置是否开启卫星定位
        option.setOpenGnss(true);
        try {
            //定位必须获得用户允许
            LocationClient.setAgreePrivacy(true);
            //定位服务的客户端。宿主程序在客户端声明此类,并调用,目前只支持在主线程中启动
            LocationClient locationClient = new LocationClient(getApplicationContext());
            // 使用定位参数
            locationClient.setLocOption(option);
            //注册监听函数
            locationClient.registerLocationListener(new MyLocationListener());
            //开始定位
            locationClient.start();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // locationClient.stop();
        }
    }

    /**
     * 实现定位回调
     */
    private class MyLocationListener extends BDAbstractLocationListener {
        @Override
        public void onReceiveLocation(BDLocation location) {
            System.out.println(location.getAddrStr());//详细地址
            System.out.println(location.getCity());//地市
            System.out.println(location.getLongitude());//经度
            System.out.println(location.getLatitude());//纬度
            System.out.println(location);

        }
    }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值