好久没写过地图了,都已经忘记了,根据最新的高德地图文档先来实现一下简单的地图显示吧。
一:as 创建一个工程
二:打开高德地图文档 高德文档地址: https://lbs.amap.com/
三:注册个人开发者
四:注册完打开控制台如下:
五:点击左侧创建应用:
如下点击创建新应用:
创建完了之后发现是没有key的需要我们自己生成key,接着往下看:点击加号
这里的 发布版安全码SHA1和调试版安全码SHA1 就是我们所说的同一个sha1值,PackageName 就是我们as创建的工程的包名。
关于SHA1值的获取可使用以下简单方法:
运行cmd 进入黑窗口:
先执行 cd .android
在执行 keytool -list -v -keystore debug.keystore
会看到要输入秘钥口,统一口令是小写的 android
当我们输入android的时候,界面上是不显示的,输入完直接回车就可以查看我们想看的内容了。
六:在as上配置高德相关的内容
现在我们就已经获取到key了,我们现在去高德官方下载 jar包依赖:
高德官方相关下载地址:
https://lbs.amap.com/api/android-location-sdk/download
解压完之后是这样的:
打开我们的as project目录:
第一种方法:
jar包我们放在的libs文件夹里
然后创建jniLibs文件夹,其余的五个放在这个下面
第二种方法:
Android Studio默认会在Project的build.gradle为所有module自动添加jcenter的仓库地址,如果已存在,则不需要重复添加。Project的build.gradle文件在Project目录中位置如图所示:
配置如下:
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要保持一致。
八:显示基础地图:
xml编写:
activity编写:
注意画圈的代码一定要有,没有的话是不显示地图的,这句代码就是创建地图。
好了基础地图现在就可以显示了,如有错误请指出。
后期有时间整理定位和导航。