高德API在flutter中的配置

本文记录了一位开发者在Android应用中集成高德地图SDK的过程,详细列出了所需的权限配置、Gradle依赖以及注意事项。开发者遇到了高德文档过时和类名冲突的问题,并给出了解决方案。博客提供了完整的AndroidManifest.xml和build.gradle文件片段作为参考。

经过两天的疯狂实验,终于在手机上把高德地图显示出来了。其中因为思路不清晰,导致了各种错误的出现。当然也包括高德文档的滞后性带来的误操作。
废话不说,配置介绍如下:

权限配置,如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	 <!--Based on your own package name -->
    package="com.marasun.amptest">
     <!-- //安卓所需权限 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- //获取设备网络状态,禁用后无法获取网络状态 -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- //网络权限,当禁用后,无法进行检索等相关业务 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!-- //读取设备硬件信息,统计数据 -->
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <!-- //读取系统信息,包含系统版本等信息,用作统计 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- //获取设备的网络状态,鉴权所需网络代理 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- //允许sd卡写权限,需写入地图数据,禁用后无法显示地图 -->
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <!-- //获取统计数据 -->
    <uses-permission android:name="android.permission.CAMERA" />
    <!-- //遇到地图不显示补充以下权限 -->
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <!-- 用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <!-- 用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <!-- 允许应用程序访问额外的位置提供命令 -->
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 

<!-- Modifiy the following according t your own confinguration  -->
    <application
        
        android:label="amptest"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <service android:name="com.amap.api.location.APSService"/> 
        <activity
...............
        </activity>
       
               	<!--设置高德Key-->
        <meta-data android:name="com.amap.api.v2.apikey" android:value="58b206.........e1d049"/>
    </application>
  
</manifest>

在这里插入图片描述
注意以上两个地方和高德有关;

gradle.property 增加如下部分:


    defaultConfig {
         ndk {
            //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
            // abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
            abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
        }
.......
    }
    ....
    dependencies {
    //implementation  fileTree(dir: 'libs', include: ['*.jar'])
    // //3D地图so及jar check https://lbs.amap.com/api/android-sdk/changelog for the latest version 
    // if ther vserson of the 3dmap is bigger than 9.2.0 duplicated class will be foiund that is the bug for amp.
    implementation  'com.amap.api:3dmap:9.2.0'
    // //定位功能
    implementation  'com.amap.api:location:6.1.0'
    // //搜索功能
    implementation  'com.amap.api:search:9.2.0'

// ————————————————
// 版权声明:本文为优快云博主「antu58」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
// 原文链接:https://blog.youkuaiyun.com/weixin_41735943/article/details/122977922
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

说明:不要按照高德网站上的配置SDK的方法,那个已经过时了。网站中的如下方法已经不再适用:
在这里插入图片描述
compile 命令已经在新的gradle 中不被支持,fileTree 命令无效,写不写没有意义。另外由于高德版本管理的问题,不要使用latest.integration, 否则会在使用当中出现类名冲突(不知道高德怎么搞的)。

参考了很多网上的帖子,在这里一并致谢。
demo如下:
在这里插入图片描述
是记备忘

MaraSun 2022-12-23 BJFWDQ
Positive for the 10th days, most of the attributes of the body are turning normal.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值