好久没写过地图了,都已经忘记了,根据最新的高德地图文档先来实现一下简单的地图显示吧。

一:as 创建一个工程

二:打开高德地图文档 高德文档地址: https://lbs.amap.com/

三:注册个人开发者

四:注册完打开控制台如下:

android 高德地图点击Marker 高德地图f1_android


五:点击左侧创建应用:

如下点击创建新应用:

android 高德地图点击Marker 高德地图f1_jar包_02


android 高德地图点击Marker 高德地图f1_jar包_03


创建完了之后发现是没有key的需要我们自己生成key,接着往下看:点击加号

android 高德地图点击Marker 高德地图f1_jar包_04


android 高德地图点击Marker 高德地图f1_高德地图_05


这里的 发布版安全码SHA1和调试版安全码SHA1 就是我们所说的同一个sha1值,PackageName 就是我们as创建的工程的包名。关于SHA1值的获取可使用以下简单方法:

android 高德地图点击Marker 高德地图f1_jar包_06


运行cmd 进入黑窗口:

先执行 cd .android

在执行 keytool -list -v -keystore debug.keystore

会看到要输入秘钥口,统一口令是小写的 android

当我们输入android的时候,界面上是不显示的,输入完直接回车就可以查看我们想看的内容了。

android 高德地图点击Marker 高德地图f1_jar包_07

android 高德地图点击Marker 高德地图f1_jar包_08


android 高德地图点击Marker 高德地图f1_jar包_09

六:在as上配置高德相关的内容
现在我们就已经获取到key了,我们现在去高德官方下载 jar包依赖:

高德官方相关下载地址:
  https://lbs.amap.com/api/android-location-sdk/download

android 高德地图点击Marker 高德地图f1_jar包_10


解压完之后是这样的:

android 高德地图点击Marker 高德地图f1_高德地图_11


打开我们的as project目录:

第一种方法:

jar包我们放在的libs文件夹里

android 高德地图点击Marker 高德地图f1_jar包_12


然后创建jniLibs文件夹,其余的五个放在这个下面

android 高德地图点击Marker 高德地图f1_高德地图_13


第二种方法:

Android Studio默认会在Project的build.gradle为所有module自动添加jcenter的仓库地址,如果已存在,则不需要重复添加。Project的build.gradle文件在Project目录中位置如图所示:

android 高德地图点击Marker 高德地图f1_android_14


配置如下:

allprojects { repositories { jcenter() // 或者 mavenCentral() } }

根据项目需求添加SDK依赖。引入各个SDK功能最新版本, dependencies 配置方式如下:

3D地图

compile 'com.amap.api:3dmap:latest.integration'

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'

在这里我用的是第一种方式。

七:清单文件配置:
先添加必要的权限:

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

然后添加key和service:value就是我们在平台上创建完之后显示的key要保持一致。

android 高德地图点击Marker 高德地图f1_android_15

八:显示基础地图:

xml编写:

android 高德地图点击Marker 高德地图f1_jar包_16


activity编写:

android 高德地图点击Marker 高德地图f1_jar包_17


注意画圈的代码一定要有,没有的话是不显示地图的,这句代码就是创建地图。

好了基础地图现在就可以显示了,如有错误请指出。

后期有时间整理定位和导航。