前言:兄弟们,咱们这个基础部分是已经结束了,学会之前的那些骚操作就基本上可以自己写点小东西玩玩了,现在来讲讲一些开发中常用的功能。

定位是我们开发中常用的功能,为了帮助大家理解,我冒着生命危险从高德总部偷出来了这一份方案!!
(求大家给个三联,我好跑路啊)
话不多说,先上效果图:

准备阶段:
1.插件准备:
amap_flutter_location: ^2.0.0 #高德地图
permission_handler: ^8.1.4 #权限管理,获取定位权限用
2.在高德的开发者平台申请key:
第一步:注册开发者账号
第二步:创建新的应用,并申请key

第三步:

关于如何获取SHA1,以及处理高德定位使用中的报错下一篇文章会详细的讲解
第四步获取到key:

第五步:获取自己需要的SDk

这样准备步骤就完成了。
第一步:SDK与权限处理
SDK处理:
在app文件夹下创建libs文件夹,把下载的SDK放入

然后在build.gradle中配置SDK:
dependencies{
//添加demo中引入高德地图SDK
implementation fileTree(include: ['*.zip'], dir: 'libs')
implementation('com.amap.api:location:5.2.0')
//定位功能
compile 'com.amap.api:location:latest.integration'
}
权限处理:
在这个文件下配置:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--访问网络-->
<uses-permission android:name="android.permission.INTERNET" />
<!--粗略定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--精确定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--用于写入缓存数据到扩展存储卡-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
第二步:配置Key
仍在这个文件中:

在application下:
meta-data
android:name="com.amap.api.v2.apikey"
android:value="//你自己的Key" />
<service android:name="com.amap.api.location.APSService"/> //定位
现在所有的配置都完成了!
第三步:代码使用
代码可以之间使用,放置文末了,只需要把自己的key替换一下
我们来看看官网的一些api:
定位结果是以map的形式返回的,具体内容为

本文详细介绍了在Flutter中使用高德地图SDK进行定位的步骤,包括插件安装、高德开发者平台的应用创建和Key获取、AndroidManifest.xml的权限配置、SDK集成、代码实现等。同时,提供了定位结果的详细解析,帮助开发者理解并使用定位功能。

最低0.47元/天 解锁文章
1772





