在flutter使用地图插件进行定位
在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使用地图插件进行定位相关推荐
- flutter中地图定位
Flutter开发中定位总结(高德地图) 一.第一种方法(idea中直接生成) 1.keystore生成 (1)生成一个jks文件 Idea中选择build 选择Generate Signed APK ...
- flutter引入高德地图_玩玩Flutter Web —— 实现高德地图插件
Red Deer 1.啰嗦几句 去年写了一个功能简单的高德地图插件给flutter_deer使用,当时支持了Android与iOS两端.前一阵子有一个issue问是否会支持Flutter Web,当时 ...
- flutter百度地图定位, poi检索功能
一.引用flutter插件: flutter_baidu_mapapi_map: ^3.0.0+2 flutter_baidu_mapapi_search: ^3.0.0 flutter_bmfloc ...
- Flutter 调用地图软件(高德、百度、腾讯、苹果)同时实现另类国际化
文章目录 Flutter 调用地图软件(高德.百度.腾讯.苹果) 一.说明 第 1 类:App 集成导航功能 第 2 类:跳转第三方地图软件 二.实现步骤 使用 1.添加插件: 2.iOS 配置 in ...
- Flutter百度地图
Flutter百度地图-重构项目 一.实现效果如下图 qq交流群:群号:730772561 1.地图中任意踩点进行杆塔和设备的新建,对与点和线进行关联 2.对于点和线进行各种操作. 3.自定义区域下载 ...
- Flutter开发之iOS后台定位开发详解
Flutter开发之iOS后台定位开发详解 需求目的 开发一个功能持续获取用户的位置发送给后端,PC端会根据后端传来的移动端发送的位置信息,来绘制使用者的运动轨迹. 实现需求 是否实现 后台定位 ✅ ...
- CMRNet++:一种相机在激光雷达构建地图中的定位方案
点云PCL免费知识星球,点云论文速读. 标题:CMRNet++: Map and Camera Agnostic Monocular Visual Localization in LiDAR Maps ...
- cordova使用cordova-plugin-baidumaplocation插件获取定位
原文:cordova使用cordova-plugin-baidumaplocation插件获取定位 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m ...
- 谷歌地图插件Mapsed.js
我们在一些WEB项目中需要应用简单的地图,而且最好是可以自定义标注地点,最好是可以从本地数据库中读取并在地图上展示地点,那么谷歌地图插件Mapsed.js是比较好的选择,使用起来简单,无需注册地图接口 ...
最新文章
- 学生兴趣爱好管理系统 c语言,《学生兴趣爱好系统.doc
- Faster RCNN minibatch.py解读
- idea—开启Run DashBoard
- zlib源码导读[转]
- 力扣-455 分发饼干
- samba服务的原理与搭建(转的别人的)
- AXJ爱新机 亚马逊测评 替代软件-VMLogin反指纹超级浏览器
- 《非洲归来 不必远方》读后感
- MacOS 利用keka.app压缩工具制作dmg文件
- 《增量绩效管理》读后感--回归产品,增量产出
- R语言XLSX数据导入
- 动词变名词的变化规则_动词变职业名词的规则
- 日常坚持记账,简单好用的记账本分享给你
- OpenCvSharp人脸识别系统(视频中的人脸)
- VMware DHCP Service服务启动时报错:错误1068 依存服务或组无法启动
- 同步通讯和异步通讯的区别
- phpredis与predis的区别
- 转 影像质量评估之锐利度--MTF(SFR)
- 今日油条——2020年最成功的事件营销案例
- Graphics2d消除锯齿整理
热门文章
- 怎么控制别人的电脑屏幕?
- Linux删除文件常用的几种措施
- 计算机设备维护保养和网络巡检,弱电设备的维护保养及巡检管理制度
- matlab求点介数程序,matlab_bgl 一个很有用的计算网络中每个节点介数的程序,对 分析 Cloud Computing 云 266万源代码下载- www.pudn.com...
- webpack 打包简介
- 人工智能革命(下):永生还是毁灭
- 期末备考数据库知识点(sql server2008)
- English语法_状语从句
- Spring WebFlux运用中的思考与对比
- 如何判断Convex Set(凸集)、Convex Function(凸函数)