在flutter使用地图插件进行定位
有多种插件可以使用 推荐第一种
1)
amap_base: x.x.x
amap_base_map: x.x.x # 仅地图
amap_base_navi: x.x.x # 仅导航(高德导航SDK已包含地图, 不要跟amap_base_map重复用)
amap_base_search: x.x.x # 仅搜索
amap_base_location: x.x.x # 仅定位
2)
该插件只有定位功能,(我使用的这种)

这要看你使用的插件,这里我提供两篇博客,
amap_base:
https://juejin.im/post/5d7c6a3851882538c05048b1,
官网: https://github.com/OpenFlutter/amap_base_flutter
amap_location :
https://segmentfault.com/a/1190000016342825,
官网: https://github.com/best-flutter/flutter_amap_location
以上两篇供参考,

看得懂博客就不需要往下看了,看不懂可以往下看

先从dart package找到插件版本 然后添加到yaml文件中,

然后,进入高德官网 https://lbs.amap.com/dev/key/app

进入高德地图官网,有账号则不用创建,没有需要创建一个账号,
有了账号后,登录后,会有

点过去,,然后

点到我的应用,
开始创建key,----------画重点
第一步:先创建一个应用,名字以及类别你自己写,
然后,进入主题

点+号开始创建key

我把那段获取SHA1 码的放这里,方便复制

keytool -list -v -keystore "C:\Users\你自己电脑用户名\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

关于那个包名
Android

IOS

配置key
Android:
第 1 步,配置AndroidManifest.xml

首先,声明Service组件
请在application标签中声明service组件,每个app拥有自己单独的定位service

<service android:name="com.amap.api.location.APSService"></service>

然后,声明权限

<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!--用于写入缓存数据到扩展存储卡-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<!--用于申请获取蓝牙信息进行室内定位-->
<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>

最后,设置高德Key
你在高德创建的key

<meta-data android:name="com.amap.api.v2.apikey" android:value="//你的key "/>

下面这里也需要设置一下

供复制:

/// 高德地图key
manifestPlaceholders = [AMAP_KEY : "dd3218316a186fdd865d3a8cb0a50e30",
]
    implementation 'com.amap.api:location:latest.integration'implementation 'androidx.appcompat:appcompat:1.0.0'

至此,所有配置完成, 下面是使用方法

amap_location 推荐和permission_handler权限插件一起使用
有时候配了权限但是没有给到,所以推荐每次定位前都进行权限校验,

使用之前需要启动定位插件

await AMapLocationClient.startup(new AMapLocationOption( desiredAccuracy:CLLocationAccuracy.kCLLocationAccuracyHundredMeters ));

void getLocation() async {print('获取定位');// 申请权限 定位权限Map<PermissionGroup, PermissionStatus> permissions = await PermissionHandler().requestPermissions([PermissionGroup.location]);// 申请结果PermissionStatus permission = await PermissionHandler().checkPermissionStatus(PermissionGroup.location);print('PermissionStatus.granted${PermissionStatus.granted}');if (permission == PermissionStatus.granted) {Fluttertoast.showToast(msg: "权限申请通过");await AMapLocationClient.getLocation(true).then((_) {print('获取的latitude${_.latitude}');print('获取的longitude${_.longitude}');});} else {Fluttertoast.showToast(msg: "权限申请被拒绝");}
}

IOS:上面的配置了,在main方法添加一句
AMapLocationClient.setApiKey(“你申请的key”);应该就可以了

到此结束了,谢谢观看

在flutter使用地图插件进行定位相关推荐

  1. flutter中地图定位

    Flutter开发中定位总结(高德地图) 一.第一种方法(idea中直接生成) 1.keystore生成 (1)生成一个jks文件 Idea中选择build 选择Generate Signed APK ...

  2. flutter引入高德地图_玩玩Flutter Web —— 实现高德地图插件

    Red Deer 1.啰嗦几句 去年写了一个功能简单的高德地图插件给flutter_deer使用,当时支持了Android与iOS两端.前一阵子有一个issue问是否会支持Flutter Web,当时 ...

  3. flutter百度地图定位, poi检索功能

    一.引用flutter插件: flutter_baidu_mapapi_map: ^3.0.0+2 flutter_baidu_mapapi_search: ^3.0.0 flutter_bmfloc ...

  4. Flutter 调用地图软件(高德、百度、腾讯、苹果)同时实现另类国际化

    文章目录 Flutter 调用地图软件(高德.百度.腾讯.苹果) 一.说明 第 1 类:App 集成导航功能 第 2 类:跳转第三方地图软件 二.实现步骤 使用 1.添加插件: 2.iOS 配置 in ...

  5. Flutter百度地图

    Flutter百度地图-重构项目 一.实现效果如下图 qq交流群:群号:730772561 1.地图中任意踩点进行杆塔和设备的新建,对与点和线进行关联 2.对于点和线进行各种操作. 3.自定义区域下载 ...

  6. Flutter开发之iOS后台定位开发详解

    Flutter开发之iOS后台定位开发详解 需求目的 开发一个功能持续获取用户的位置发送给后端,PC端会根据后端传来的移动端发送的位置信息,来绘制使用者的运动轨迹. 实现需求 是否实现 后台定位 ✅ ...

  7. CMRNet++:一种相机在激光雷达构建地图中的定位方案

    点云PCL免费知识星球,点云论文速读. 标题:CMRNet++: Map and Camera Agnostic Monocular Visual Localization in LiDAR Maps ...

  8. cordova使用cordova-plugin-baidumaplocation插件获取定位

    原文:cordova使用cordova-plugin-baidumaplocation插件获取定位 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m ...

  9. 谷歌地图插件Mapsed.js

    我们在一些WEB项目中需要应用简单的地图,而且最好是可以自定义标注地点,最好是可以从本地数据库中读取并在地图上展示地点,那么谷歌地图插件Mapsed.js是比较好的选择,使用起来简单,无需注册地图接口 ...

最新文章

  1. 学生兴趣爱好管理系统 c语言,《学生兴趣爱好系统.doc
  2. Faster RCNN minibatch.py解读
  3. idea—开启Run DashBoard
  4. zlib源码导读[转]
  5. 力扣-455 分发饼干
  6. samba服务的原理与搭建(转的别人的)
  7. AXJ爱新机 亚马逊测评 替代软件-VMLogin反指纹超级浏览器
  8. 《非洲归来 不必远方》读后感
  9. MacOS 利用keka.app压缩工具制作dmg文件
  10. 《增量绩效管理》读后感--回归产品,增量产出
  11. R语言XLSX数据导入
  12. 动词变名词的变化规则_动词变职业名词的规则
  13. 日常坚持记账,简单好用的记账本分享给你
  14. OpenCvSharp人脸识别系统(视频中的人脸)
  15. VMware DHCP Service服务启动时报错:错误1068 依存服务或组无法启动
  16. 同步通讯和异步通讯的区别
  17. phpredis与predis的区别
  18. 转 影像质量评估之锐利度--MTF(SFR)
  19. 今日油条——2020年最成功的事件营销案例
  20. Graphics2d消除锯齿整理

热门文章

  1. 怎么控制别人的电脑屏幕?
  2. Linux删除文件常用的几种措施
  3. 计算机设备维护保养和网络巡检,弱电设备的维护保养及巡检管理制度
  4. matlab求点介数程序,matlab_bgl 一个很有用的计算网络中每个节点介数的程序,对 分析 Cloud Computing 云 266万源代码下载- www.pudn.com...
  5. webpack 打包简介
  6. 人工智能革命(下):永生还是毁灭
  7. 期末备考数据库知识点(sql server2008)
  8. English语法_状语从句
  9. Spring WebFlux运用中的思考与对比
  10. 如何判断Convex Set(凸集)、Convex Function(凸函数)