GIS

flutter 集成高德地图

2022-02-10  本文已影响0人  Carrie_carry

官方开发文档

https://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project

1、在官网申请appkey

找到SHA1

windows系统用win+r输入cmd打开控制台

Mac系统用了Go2Shell插件可以直接打开Users/xxx用户目录

cd /Users/xxx用户目录下

直接输入cd .android

再输入keytool -list -v -keystore debug.keystore找到调试版的SHA1

发布版的SHA1是输入keytool -list -v -keystore apk得编译出来后才能找到,不然是找不到的

2、在flutter项目中集成高德sdk

在官方开放文档中有两种方法来集成,一种下载官方sdk直接复制粘贴进去,试验了一下感觉不是很方便,毕竟下次更新又要重新下载复制进去。所以下面是通过gradle来集成高德sdk的方法。其实文档中都有,我写下来就是为了方便查阅。

(1)在Project的build.gradle文件中配置repositories,添加maven或jcenter仓库地址

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'

以3D的demo工程为例添加3d地图SDK、定位SDK、搜索功能,配置如下:

Java

android {

    defaultConfig {

        ndk {

            //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)    

             abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"      

            }

      }

}

dependencies {

    compilefileTree(dir:'libs', include: ['*.jar'])

    compile 'com.amap.api:3dmap:latest.integration' //3D地图so及jar

    compile 'com.amap.api:location:latest.integration'   //定位功能

    compile 'com.amap.api:search:latest.integration'  //搜索功能

}

注意:还有一种是指定版本的引入,但是会比较麻烦因为当不是最新版本以后还要调整过,还是以上的方式比较简易一点不用担心版本不是最新的。

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 包,会有冲突。

上一篇下一篇

猜你喜欢

热点阅读