高德定位

public void initGD() {
    //声明定位回调监听器
    AMapLocationListener mLocationListener = new AMapLocationListener() {
        @Override
        public void onLocationChanged(AMapLocation amapLocation) {
            if (amapLocation != null) {
                int errorCode = amapLocation.getErrorCode();
                Log.e("AAA","AA"+errorCode);
                if ( errorCode == 0) {
                    //可在其中解析amapLocation获取相应内容。
                    String province = amapLocation.getProvince();//省信息
                    String city = amapLocation.getCity();//城市信息
                    String district = amapLocation.getDistrict();//城区信息
                    String street = amapLocation.getStreet();//街道信息
                    String streetNum = amapLocation.getStreetNum();//街道门牌号信息

                    final String userAddr = city+","+district+","+street;

                    Log.e("province", province+"信息");
                } else {
                    //定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。
                    Log.e("AmapError", "location Error, ErrCode:"
                            + amapLocation.getErrorCode() + ", errInfo:"
                            + amapLocation.getErrorInfo());
                }
            }
        }

    };

    //初始化定位
    //声明AMapLocationClient类对象
    AMapLocationClient mLocationClient = new AMapLocationClient(this);
    //设置定位回调监听
    mLocationClient.setLocationListener(mLocationListener);

    //初始化AMapLocationClientOption对象
    //声明AMapLocationClientOption对象
    AMapLocationClientOption mLocationOption  = new AMapLocationClientOption();

    //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
    mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);

    //获取一次定位结果:
    //该方法默认为false。
    mLocationOption.setOnceLocation(true);

    //获取最近3s内精度最高的一次定位结果:
    //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。
    mLocationOption.setOnceLocationLatest(true);

    //设置是否返回地址信息(默认返回地址信息)
    mLocationOption.setNeedAddress(true);

    //设置是否允许模拟位置,默认为true,允许模拟位置
    mLocationOption.setMockEnable(true);

    //单位是毫秒,默认30000毫秒,建议超时时间不要低于8000毫秒。
    mLocationOption.setHttpTimeOut(20000);

    //关闭缓存机制
    mLocationOption.setLocationCacheEnable(false);

    //给定位客户端对象设置定位参数
    mLocationClient.setLocationOption(mLocationOption);
    //启动定位
    mLocationClient.startLocation();

    //可以通过类implement方式实现AMapLocationListener接口,也可以通过创造接口类对象的方法实现
    //以下为后者的举例:

}

<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET"/>
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!--用于写入缓存数据到扩展存储卡-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<!--用于申请获取蓝牙信息进行室内定位-->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>


<meta-data
    android:name="com.amap.api.v2.apikey"
    android:value="b96bb3f63f01ea11da8aff9bbedc893b"/>

<service android:name="com.amap.api.location.APSService"></service>

// 2d
compile 'com.amap.api:map2d:latest.integration'
// 导航
compile 'com.amap.api:navi-3dmap:latest.integration'
// 搜索
compile 'com.amap.api:search:latest.integration'
// 定位
compile 'com.amap.api:location:latest.integration'


// recycle
compile 'com.android.support:support-v4:27.0.0'
compile 'com.android.support:appcompat-v7:27.0.0'
compile 'com.android.support:recyclerview-v7:27.0.0'
compile 'com.android.support:design:27.0.0'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值