转载请注明出处:http://www.jianshu.com/p/f59231d5775f
前言
当项目中需要使用地图SDK的时候, 是选择高德地图还是百度地图呢?从对开发者友好角度,从容易上手角度:高德完胜百度! 所以我们公司的项目也选择了高德地图。好了!下面就开始高德地图的集成吧!
一,账号与Key的申请
注册成为高德开发者需要分三步:
第一步,注册高德开发者;第二步,去控制台创建应用;第三步,获取Key。
前2步都比较简单,这里说下第三步。
获取Key
1、进入控制台,创建一个新应用。如果您之前已经创建过应用,可直接跳过这个步骤。
2、 在创建的应用上点击"添加新Key"按钮,在弹出的对话框中,依次:输入应用名名称,选择绑定的服务为“Android平台SDK”,输入发布版安全码 SHA1、调试版安全码 SHA1、以及 Package,如下图所示:
获取SHA1见:如何获取 SHA1
二,Android Studio 配置工程
配置工程前需要到官网下载高德SDK 下载地址
注意:这里根据项目需求选择下载,如果不需要导航,定位就用默认的即可。(这样可以大大减小包的体积)如图:
下载后会得到如图所示压缩包
第1步:添加 jar 包
将下载的地图 SDK 的 jar包复制到工程的 libs 目录下,如果有老版本 jar 包在其中,请删除。如图所示:
第2步:添加 so 库
说明:3D地图才需要添加so库,2D地图无需这一步骤。
在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,如果已经有这个目录,将下载的 so 库复制到这个目录即可。如图所示:
第3步:在清单文件中配置高德 Key
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="请输入您的用户Key"/>
……
</application>
第4步:在清单文件中配置权限:
<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许程序设置内置sd卡的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许程序访问WiFi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许程序读写手机状态和身份-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
三,验证
好了!到这里高德地图集成就全部完成了!接下来验证我们集成的是否正确!
1,首先在布局xml文件中添加地图控件:
<com.amap.api.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.amap.api.maps.MapView>
2, 在activity的onCreate()方法中添加如下代码就能看到高德地图了!
MapView mapView = (MapView) findViewById(R.id.map);//找到地图控件
//在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图
mapView.onCreate(savedInstanceState);
AMap aMap = mapView.getMap();//初始化地图控制器对象
大功告成!集成高德地图就是这么简单!
如果对你有帮助点个赞支持下吧!