Android Studio调用高德地图api

前言:

       在成功实现调用高德地图api的过程中我真的是遇到了很多的问题,感觉简直是把能遇到的各种问题都遇到了,比如同时导入了jar包和.so文件在运行时发现两者之间可能有冲突,或解决了该冲突之后,成功运行,但地图并不显示,显示为白屏等,在这个期间我做了很多的尝试,比如调整了targetSdk、Gradle的版本,按照其他资料注释了setting.gradle里面的部分内容,添加android:hardwareAccelerated="true"该句进行硬件加速等但都没有解决这个问题。

      为了解决这个问题,我将所有流程重新又进行了一遍,最终发现我这边的白屏可能是由两个问题导致的:在进行地图SDK下载时我选择了前者,可能和我的版本不太符合,之后改选了地图SDK旧版下载后没有出现文件冲突的问题,我想可能旧版的比较稳定吧;其次是我一开始建jniLibs时将它和libs同级了,正确的应该是建在src/main/下面。下面我把我运行成功的步骤分享一下,希望可以帮助到有需要的友友们~

一.搜索高德开放平台,进行注册并登录,进入到自己的控制台,打开应用管理下的我的应用,点击创建新应用。

Android Studio调用高德地图api_第1张图片

1.关于获取发布版安全码SHA1的过程如下:

       打开Android Studio下方的Terminal,并自行找到.android在电脑中的位置,找到了之后,按照下图所示:

Android Studio调用高德地图api_第2张图片

      之后执行 keytool -list -v -keystore 签名文件的位置(即.keystore的位置),如下图所示:

      若出现这个问题,则需要找到JDK的安装路径的bin子目录(里面有keytool.exe工具),这里若出现找不到该命令的提示,则说明还未在PATH环境变量中增加%JAVA_HOME%/bin路径。找到之后如下图所示:

      默认口令为android,输入正确后,即可获得SHA1安全码,如下图所示:

Android Studio调用高德地图api_第3张图片

 2.关于包名如何获得?

Android Studio调用高德地图api_第4张图片

      填入后点击提交,即可获得key,后续会使用,如下图所示:

Android Studio调用高德地图api_第5张图片 二.下载Android 地图SDK并设置相关权限。

Android Studio调用高德地图api_第6张图片

Android Studio调用高德地图api_第7张图片

      下载后进行解压,会得到如图所示:

Android Studio调用高德地图api_第8张图片

      之后将最后面的那个jar包放到工程libs里面,并右键点击Add As Library... 将该jar包加载到build.gradle中,之后在src/main下面建jniLibs子目录,将上图前五个文件复制进去,就会得到如下图所示:

Android Studio调用高德地图api_第9张图片

       之后在AndroidManifest.xml设置相关的权限:


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

      同时在该文件application中添加如下代码:

 
        

      设置好这些权限之后就来到了显示地图的部分。

 三.显示地图。

      设置布局文件,代码如下所示:


       java中调用关键代码如下所示:

 private AMap aMap;
 MapView mMapView = null;
       //获取地图控件引用
        mMapView = (MapView)findViewById(R.id.mapView);
        //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图
        mMapView.onCreate(savedInstanceState);

       //初始化地图控制器对象
        if (aMap == null) {
            aMap = mMapView.getMap();
        }
@Override
    public void onDestroy() {
        super.onDestroy();
        //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图
        mMapView.onDestroy();
    }
    @Override
    public void onResume() {
        super.onResume();
        //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图
        mMapView.onResume();
    }
    @Override
    public void onPause() {
        super.onPause();
        //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制
        mMapView.onPause();
    }
    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态
        mMapView.onSaveInstanceState(outState);
    }

      通过以上操作之后,点击运行,地图就可以显示出来了,如下图所示。

Android Studio调用高德地图api_第10张图片

 以上便是我成功的一次操作,希望可以帮助到大家,喜欢的可以点赞收藏噢~

你可能感兴趣的:(Android开发,android,studio,android,android-studio,java)