geolocator插件的用法

news2024/12/28 4:37:43

文章目录

  • 1. 概念介绍
  • 2. 使用方法
  • 3. 示例代码
  • 4 体验分享

我们在上一章回中介绍了如何实现滑动菜单相关的内容,本章回中将介绍如何获取位置信息.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在这里说的获取位置信息本质上是获取当前手机所在位置的gps坐标,就是我们常说的经纬度。获取位置信息属于原生平台提供的功能,Flutter做为UI框架并没有
提供这种功能,因此我们需要自己编写channel,然后分别在Android和IOS平台上实现相关的代码,这样做显然又回到了原生开发中,好在Flutter提供了包机制,而
且已经有三方包替我们做了这件事情,我们只需要在项目中引入并且使用三方包就可以获取到位置信息,该包的名称为:geolocator.本章回中将详细介绍它的使用方法。

2. 使用方法

  1. 在yaml文件中引入geolocator包,并且通过get命令获取包中的内容到项目中;
  2. 通过包中的checkPermission()方法检查是否获取到位置权限,如果没有获取到就使用requestPermission()方法获取位置权限;
  3. 使用isLocationServiceEnabled()方法检查是否已经打开位置开关,如果没有打开就使用openLocationSettings()方法打开;
  4. 使用getCurrentPosition()方法获取当前的位置信息,该信息中包含当前位置的经纬度;
    这些使用方法还有一些注意事项需要和大家说明,以免大家在使用时出现错误:- 我们在上面步骤中介绍的方法都是异步方法,需要配合async/await关键字来使用
  • 打开位置开关的方法只能用于Android,IOS不支持这样的功能;
    此外,该包还提供了监听位置开关和监听位置信息的功能,它会把位置开关状态,和位置服务封装到stream中,我们获取到相应的stream后就可以使用listen()方法
    来监听位置开关的变化和位置信息的变化。

3. 示例代码

///获取位置开关状态,如果没有打开开关就跳转到开关设置页面(仅支持android)
locationServiceEnabled = await Geolocator.isLocationServiceEnabled();
if(!locationServiceEnabled<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Chrome浏览器插件--资源嗅探猫抓】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、资源嗅探插件---猫抓二、使用步骤总结 一、资源嗅探插件—猫抓 猫抓是一个浏览器插件&#xff0c;可以检测当前网页中的一些资源文件&#xff0c;可设置嗅探的…

NVIDIA机密计算文档

NVIDIA 可信计算解决方案 文章目录 前言一、指南1. Intel TDX - 机密计算部署指南2. AMD SNP - 机密计算部署指南3. NVIDIA Hopper 机密计算证明文档4. nvtrust GitHub二、发行说明1. 550TRD3 - NVIDIA 可信计算解决方案发行说明2. 550TRD1 - NVIDIA 可信计算解决方案发行说明三…

The Android SDK location cannot be at the filesystem root

win11&#xff0c; 安装启动完Android Studio后&#xff0c;一直显示 The Android SDK location cannot be at the filesystem root因此需要下载SDK包&#xff0c;必须开启代理。 开启代理后&#xff0c;在System下开启自动检测代理&#xff0c;如图 重启Android Studio&a…

任务【浦语提示词工程实践】

0.1 环境配置 首先点击左上角图标&#xff0c;打开Terminal&#xff0c;运行如下脚本创建虚拟环境&#xff1a; # 创建虚拟环境 conda create -n langgpt python3.10 -y 运行下面的命令&#xff0c;激活虚拟环境&#xff1a; conda activate langgpt 之后的操作都要在这个环境…

基于LORA的一主多从监测系统_0.96OLED

关联&#xff1a;0.96OLED hal硬件I2C LORA 在本项目中每个节点都使用oled来显示采集到的数据以及节点状态&#xff0c;OLED使用I2C接口与STM32连接&#xff0c;这个屏幕内部驱动IC为SSD1306&#xff0c;SSD1306作为从机地址为0x78 发送数据&#xff1a;起始…

Windows环境安装CentOS7

【注意】安装CentOS需要先安装Vmware虚拟机 【下载前准备】 一、下载CentOS 7镜像文件阿里云镜像开源&#xff0c;点击跳转 二、安装VMware&#xff08;17&#xff09;&#xff1a; a. 官网&#xff0c;点击跳转 b. 许可证&#xff1a;JU090-6039P-08409-8J0QH-2YR7F 安装V…

Aegisub字幕自动化及函数篇(图文教程附有gif动图展示)(二)

目录 template行 template pre-line template line template syl template syl noblank template char template notext template pre-line notext template syl noblank notext template keeptags ​编辑 template loop number 内联变量 ​编辑 remeber函数 re…

提示工程、微调和 RAG

自众多大型语言模型&#xff08;LLM&#xff09;和高级对话模型发布以来&#xff0c;人们已经运用了各种技术来从这些 AI 系统中提取所需的输出。其中一些方法会改变模型的行为来更好地贴近我们的期望&#xff0c;而另一些方法则侧重于增强我们查询 LLM 的方式&#xff0c;以提…

【华为OD机试真题】95、最少面试官数

package mainimport ("fmt""sort" )type s struct {start intend intworkCount int }type duration struct {start intend int }// 查询时间段内是否有可用的面试官 func getFreeS(sList []*s, d *duration, workCountLimit int) (sIndex int)…

CanOpen转Profinet网关与钢成型机等机械集成时发挥的作用

在现代工业自动化领域&#xff0c;不同设备和系统之间的通信至关重要。CanOpen和Profinet是两种广泛应用于工业控制系统的通讯协议。CanOpen通常用于设备级别的通信&#xff0c;而Profinet则更常见于工业以太网&#xff0c;适用于更大范围的系统级控制。当型钢成型机等复杂机械…

@Service代替@Controller注解来标注到控制层的场景?

在SpringBoot开发中&#xff0c;Controller和Service基本上是日常开发中使用的最频繁的两个注解。但你有没考虑过Service代替Controller注解来标注到控制层的场景&#xff1f;换言之&#xff0c;经过Service标注的控制层能否实现将用户请求分发到服务层的功能&#xff1f; 前言…

视频智能分析/AI智能分析网关V4客流统计算法介绍及其在多领域多场景中的应用

随着人工智能技术的快速发展&#xff0c;AI智能分析网关V4作为一种集高性能、低功耗于一体的软硬一体AI边缘计算硬件设备&#xff0c;在工地、工厂、园区、消防、社区、校园等领域展现出强大的应用潜力。本文将详细介绍AI智能分析网关V4的客流统计算法原理及其在多个场景中的应…

[Python] 函数入参中的 *args和**kwargs 是什么意思

Python函数中*args和**kwargs的用法&#xff0c;它们允许接收任意数量的位置参数和关键字参数。*args用于非关键字的可变参数&#xff0c;而**kwargs则用于接受键值对的可变参数。在调用函数时&#xff0c;字典参数需置于单实例参数之后。示例代码展示了如何定义和使用这些可变…

上海马拉松2024年:城市律动,跑者狂欢

随着2024年的脚步日益临近&#xff0c;上海这座国际化大都市即将迎来一场体育盛事——上海马拉松。作为城市律动与跑者狂欢的完美结合&#xff0c;上海马拉松不仅吸引了来自世界各地的跑者&#xff0c;更成为了展现上海城市魅力和体育精神的重要窗口。 本次上海马拉松将于2024年…

每日OJ题_牛客_AB13【模板】拓扑排序_C++_Java

目录 牛客_AB13【模板】拓扑排序 题目解析 C代码 Java代码 牛客_AB13【模板】拓扑排序 【模板】拓扑排序_牛客题霸_牛客网 (nowcoder.com) 描述&#xff1a; 给定一个包含nn个点mm条边的有向无环图&#xff0c;求出该图的拓扑序。若图的拓扑序不唯一&#xff0c;输出任意合法…

The Sandbox 全新游戏赛季 Alpha 第 4 季完整攻略

欢迎来到 Alpha 第 4 季攻略&#xff01; 准备好投入 The Sandbox 有史以来最令人兴奋的游戏赛季吧&#xff01;我们诚邀你于 10 月 9 日晚上 10 点&#xff08;北京时间&#xff09;&#xff0c;加入我们为期 10 周的精彩平台活动&#xff0c;其中包含超过 100 个独特游戏体验…

杭州悦数参与制定的图技术国家标准项目进入公示期!

9 月 27 日&#xff0c;由全国智能计算标准化工作组归口&#xff0c;杭州悦数科技有限公司等多家知名企业及科研机构共同参与的 《智能计算 图计算性能测试方法》 国家标准项目正式进入公示期。作为第一个图技术相关的国家标准&#xff0c;这一里程碑式的进展&#xff0c;不仅标…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【297-313】

文章目录 297. super基本语法297.1 基本介绍297.2 基本语法 298. super使用细节1299. super使用细节2300. super使用细节3301. 方法重写介绍302. 方法重写细节303. 重写课堂练习1304. 重写课堂练习2输出结果&#xff1a; 姓名&#xff1a;田所浩二 年龄:24305. 养宠物引出多态3…

直面商标管理难题,开启商标管理系统的解决方案

商标管理对于企业的品牌建设和市场竞争至关重要。然而&#xff0c;商标管理并非一帆风顺&#xff0c;其中存在着诸多难题。 1. 商标监测与侵权防范&#xff1a;随着市场竞争的加剧&#xff0c;及时发现潜在的侵权行为变得越来越困难。监测范围广泛&#xff0c;包括线上线下各种…

华为免费杀毒软件 | HiSec Endpoint 智能终端安全系统

HiSec Endpoint智能终端安全系统是由华为开发的一款全面的终端安全防护产品。该系统的核心目的是保护终端资产的安全&#xff0c;防止各种网络威胁。能够实时感知终端异常行为&#xff0c;多维检测识别潜在安全威胁&#xff0c;自动处置威胁事件&#xff0c;智能溯源入侵路径&a…