andriod 调用高德地图
新建一个Android工程
新建一个 Empty Activity 应用项目,您可参考 入门指南<创建工程>章节创建一个 Android 工程。
通过拷贝添加SDK
1、添加 jar 文件:
将下载的地图 SDK 的 jar包复制到工程(此处截图以官方示例Demo为例子)的 libs 目录下,如果有老版本 jar 包在其中,请删除。如图所示:
2、添加 so 库:
说明:3D地图才需要添加so库,2D地图无需这一步骤。
保持project查看方式,以下介绍两种导入so文件的方法。
方法一:
使用默认配置,不需要修改build.gradle。在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,如果已经有这个目录,将下载的 so 库复制到这个目录即可。如图所示:
方法二:
使用自定义配置,将下载文件的 armeabi 文件夹复制到 libs 目录,如果有这个目录,请将下载的 so 库复制到这个目录,然后打开build.gradle,找到 sourceSets 标签,在里面增加一项配置,如图所示:
通过Gradle集成SDK
1、在Project的build.gradle文件中配置repositories,添加maven或jcenter仓库地址
Android Studio默认会在Project的build.gradle为所有module自动添加jcenter的仓库地址,如果已存在,则不需要重复添加。Project的build.gradle文件在Project目录中位置如图所示:
配置如下:
allprojects { repositories { jcenter() // 或者 mavenCentral() } }
2、在主工程的build.gradle文件配置dependencies
根据项目需求添加SDK依赖。引入各个SDK功能最新版本, dependencies 配置方式如下:
SDK |
引入代码 |
---|---|
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' |
主工程的build.gradle文件在Project目录中位置:
以3D的demo工程为例添加3d地图SDK、定位SDK、搜索功能,配置如下:
android { defaultConfig { ndk { //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so) abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","arm64-v8a","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' }
以上为引入最新版本的SDK,推荐这种方式。如需引入指定版本SDK(所有SDK版本号均与官网发版一致)如下:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.amap.api:3dmap:5.0.0' compile 'com.amap.api:location:3.3.0' compile 'com.amap.api:search:5.0.0' }
注意:
1、3D地图 SDK 和导航 SDK,5.0.0 版本以后全面支持多平台 so 库(armeabi、armeabi-v7a、arm64-v8a、x86、x86_64),开发者可以根据需要选择。同时还需要注意的是:如果您涉及到新旧版本更替请移除旧版本的 so 库之后替换新版本 so 库到工程中。
2、navi导航SDK 5.0.0以后版本包含了3D地图SDK,所以请不要同时引入 map3d 和 navi SDK。
3、如果build失败提示com.amap.api:XXX:X.X.X 找不到,请确认拼写及版本号是否正确,如果访问不到jcenter可以切换为maven仓库尝试一下。
4、依照上述方法引入 SDK 以后,不需要在libs文件夹下导入对应SDK的 so 和 jar 包,会有冲突。