Android第三方开发包之高德地图SDK使用介绍
Android第三方开发包之高德地图SDK使用介绍
前言
众所周知,Android系统自身并不提供地图功能,App接入第三方地图开发包才能实现基本的地图功能。今天,就让我来对高德地图的开发包进行介绍。
准备
1,如果我们想在App内嵌入高德地图,首先要注册进入高德开放平台(https://lbs.amap.com/ )根据自己的需要下载相应的SDK文件。
2,进入高德地图控制台(https://lbs.amap.com/dev/key/app )创建新应用并绑定key,绑定所需Key使用的SHA1值与PackageName可查看 https://lbs.amap.com/faq/top/hot-questions/249 。
Android Studio 配置工程
1,新建一个 Empty Activity 应用项目。
2,添加SDK
(1)将下载的地图 SDK 的 jar包复制到工程(此处截图以官方示例Demo为例子)的 libs 目录下
(2)在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,如图所示:
3,集成SDK
(1)配置Project的build.gradle:添加jcenter的仓库地址
文件位置:
代码:
allprojects {
repositories {
jcenter() // 或者 mavenCentral()
}
}
(2)配置主工程文件的build.gradle文件
文件位置:
代码:
android {
defaultConfig {
ndk {
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
//3D地图so及jar
compile 'com.amap.api:3dmap:latest.integration'
//定位功能
compile 'com.amap.api:location:latest.integration'
//搜索功能
compile 'com.amap.api:search:latest.integration'
}
显示地图
1,配置AndroidManifest.xml
(1)使用地图SDK之前,需要在 AndroidManifest.xml 文件中对权限进行设置。
代码:
<!--允许程序打开网络套接字-->
<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" />
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
(2)设置高德Key
代码:
<meta-data android:name="com.amap.api.v2.apikey"
android:value="73f1c707b1f87902edf58f743668c379">
//开发者申请的key
</meta-data>
2,添加地图开发包
菜单栏 选择 File ->Project Structure->Modules-> Dependencies
点击绿色的加号选择jar dependency.
3,初始化地图容器
在xml文件中添加地图控件
代码:
<com.amap.api.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
4,显示地图
在 MapView 对象初始化完毕之后,构造 AMap 对象。
代码:
mapView = (MapView) findViewById(R.id.map);
mapView.onCreate(savedInstanceState);
AMap aMap;
if (aMap == null) {
aMap = mapView.getMap();
}
运行就可以 看到APP 中的高德地图了。
运行效果如图所示:
由于篇幅有限,今天对高德SDK的使用就介绍到此。