Android 高德地图key获取、以及定位流程

   日期:2020-09-05     浏览:110    评论:0    
核心提示:前期准备点击进入高德平台获取key**步骤一:**登录注册进入控制台步骤二:**步骤三:**获取sha1值,以及其包名。**步骤四:**获取sha1值步骤五:复制获取到key值到这前期工作也就结束了。一、在清单文件中添加权限在application中添加以下代码

前期准备

点击进入高德平台获取key

**步骤一:**登录注册进入控制台


步骤二:


**步骤三:**获取sha1值,以及其包名。


**步骤四:**获取sha1值


步骤五:复制获取到key值

到这前期工作也就结束了。




一、在清单文件中添加权限

  1. 在application中添加以下代码
<meta-data
           android:name="com.amap.api.v2.apikey"
            android:value="添加我们刚获取的key" />
        <service android:name="com.amap.api.location.APSService" />

在application上层添加以下权限

	<uses-permission android:name="android.permission.INTERNET" /> <!-- 用于进行网络定位 -->
    <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.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" />

二、在高德地图页面添加定位权限申请

public class MainActivity extends BaseActivity{
    @BindView(R.id.tv_name)
    TextView tvName;
    private AMapLocationClient mLocationClient = null;

    private AMapLocationListener mLocationListener = new AMapLocationListener() {
        @Override
        public void onLocationChanged(AMapLocation aMapLocation) {
            if (aMapLocation != null) {
                if (aMapLocation.getErrorCode() == 0) {
                    String city = aMapLocation.getCity();
                    tvName.setText(city);
                } else {
                    Log.e("定位错误", aMapLocation.getErrorCode() + ":" + aMapLocation.getErrorInfo());
                }
            } else {
                Log.e("定位失败", "");
            }
        }
    };

    @Override
    protected int getContentView() {
        return R.layout.film_fragment;
    }
    //定位
    private void init() {
        mLocationClient = new AMapLocationClient(getActivity());

        mLocationClient.setLocationListener(mLocationListener);
        if (ActivityCompat.checkSelfPermission(getContext(),
                Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat
                    .requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 100);
        } else {
            mLocationClient.startLocation();
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        mLocationClient.startLocation();
    }
}

到这里一个简单的高德地图定位就完成了

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服