高德API在flutter中的配置

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

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

权限配置,如下:
<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'

// ————————————————
// 版权声明:本文为CSDN博主「antu58」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
// 原文链接:https://blog.csdn.net/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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值