当前位置: 首页 > 工具软件 > Location Map > 使用案例 >

Flutter 集成 amap_flutter_location

乐正乐湛
2023-12-01

Flutter 集成 amap_flutter_location

今天用 amap_flutter_location 写了个demo,过程中一直报:INVALID_USER_SCODEerror_cod: 1008,下面给大家看下主要流程

一、注册账号

  1. 在高德开放平台注册开发者账号
  2. 创建应用,获取 app key

二、配置

  1. 导入 amap_flutter_location
  2. gradle build 成功后,将 amap_flutter_location -> build.gradle -> android -> dependencies 节点下,引入插件的 compileOnly 修改为 api
例如:

android {
    compileSdkVersion 29

    defaultConfig {
        minSdkVersion 16
    }
    lintOptions {
        disable 'InvalidPackage'
    }
    dependencies {
    	//compileOnly 'com.amap.api:location:5.6.0'
        api 'com.amap.api:location:5.6.0'
    }
}
  1. 清单文件下配置相关权限,并在运行时请求必要权限,具体请参考:高德开放平台
<!-- 这是我自己配置的,亲测可行 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
  • 在清单文件 application 节点下导入下面的service
    ps: 注意,如果没有把 compileOnly 修改为 api ,这里就会报错
<service android:name="com.amap.api.location.APSService" />

三、使用

使用的话参考 文档 就足够了,主要是要注意配置的信息是否正确。下面列几个坑点

  • 生成 app key 的时候需要证书的 SHA1 值,这里我使用通过命令行生成的 keystore 死活不行,最后通过Android Studio生成的就可以了(怀疑是别名的问题)
  • 报错:INVALID_USER_SCODE,报这个错主要就是配置问题。先检查 SHA1 值是否正确;确保没有问题后,在检查配置的包名有没有问题;不对的话,看看自己有没有配置service;最后还不行,就看看 官方回复
 类似资料: