无法在 Flutter 应用程序中加载当前位置

2023-12-06

我正在使用地理定位器插件并获取当前的纬度和经度,但我无法在 Flutter 应用程序的 initstate 中加载它。 它显示渲染错误。

void initState() {
// TODO: implement initState
super.initState();
getCurrentLocation();

}

void getCurrentLocation() async {
var answer = await Geolocator().getCurrentPosition();
setState(() {
  latitude = answer.latitude;
  longitude = answer.longitude;
});

}

几毫秒后地图已更新为当前位置,但显示了这些错误。 I/flutter (14143): ══╡小部件库捕获异常╞══════════════════════════ ════════ ═════════════════════════

I/flutter (14143):构建 HomePage(dirty, state: _HomePageState#d55de) 时抛出以下断言:

I/flutter (14143): 'package:google_maps_flutter/src/location.dart': 断言失败: 第 17 行 pos 16: '纬度 !=

I/flutter (14143): null': 不正确。

我/颤振(14143):

I/flutter (14143):要么该断言表明框架本身存在错误,要么我们应该提供实质内容

I/flutter (14143):此错误消息中的更多信息可帮助您确定并修复根本原因。

I/flutter (14143):无论哪种情况,请通过在 GitHub 上提交错误来报告此断言:


我尝试了很多方法,直到我找到了这种方法,这要感谢一位好心人在另一个 flutter facebook 群组上提供的帮助。确保在 pubspec.yaml 中将位置更新为最新版本

依赖项: 地点:^2.3.5 然后将其更改为以下代码:

 
  LocationData _currentLocation;
  StreamSubscription<LocationData> _locationSubscription;

  var _locationService = new Location();
  String error;

  void initState() {
    super.initState();

    initPlatformState();

    _locationSubscription = _locationService
        .onLocationChanged()
        .listen((LocationData currentLocation) async {
      setState(() {
        _currentLocation = currentLocation;
      });
    });
  }

  void initPlatformState() async {
    try {
      _currentLocation = await _locationService.getLocation();


    } on PlatformException catch (e) {
      if (e.code == 'PERMISSION_DENIED') {
        error = 'Permission denied';
      }else if(e.code == "PERMISSION_DENIED_NEVER_ASK"){
        error = 'Permission denied';
      }
      _currentLocation = null;
    }
 Run code snippetReturn to post

您可以访问经度和纬度:

_currentLocation.longitude 和 _currentLocation.latitude

这些将返回双精度值。此外,还有更多选项可供选择https://pub.dev/packages/location#-readme-tab-

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Flutter 应用程序中加载当前位置 的相关文章

  • Flutter - 名称为 [DEFAULT] 的 FirebaseApp 不存在

    我正在使用 firebase 身份验证系统和 Firestore 开发一个 flutter 应用程序 我工作了3个月 之前没有遇到过这个错误 现在我在 Play 商店上发布了我的应用程序 并且我发现使用模拟器的调试版本也出现此错误 我认为已
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • Flutter WillPopScope 与 AlertDialog 迁移到空安全

    我最近将我的 Flutter 应用程序迁移到空安全 但 WillPopScope 与 AlertDialog 结合使用会导致问题 WillPopScope期望Future
  • 类型“Future”不是类型转换中“List”类型的子类型

    我试图从我的 Firestore 中获取确定集合中的所有文档 之后 我想将它们设置在文档列表中 列表的每个位置代表一个文档 但是 当我编写代码时 我收到此错误 类型 Future 不是类型转换中类型 List 的子类型 import pac
  • 在没有动画的情况下替换 MaterialApp 中的初始路线?

    我们的应用程序建立在Scaffold到目前为止 我们已经能够使用内部提供的调用来满足我们的大部分路由和导航要求NavigatorState pushNamed pushReplacementNamed ETC 但我们不想要的是 当用户从抽屉
  • 未安装 Visual Studio;这对于 Windows 开发是必要的

    My 颤振医生 https docs flutter dev get started install windows run flutter doctor是说 Visual Studio develop for Windows X Visu
  • Dart - 何时在集合上使用 Collection-For-In 与 .Map()

    collection for in 操作和 map 方法都可以返回对先前集合中的元素的一些操作 是否有任何理由更喜欢使用其中一种而不是另一种 var myList 1 2 3 var alteredList1 for int i in my
  • 颤动:所选值不显示在下拉列表中

    我正在从 SQLite 数据库填充城市名称并尝试显示为下拉列表 我通过遵循教程使其工作 但遇到了一个小问题 所选值不会显示在下拉列表中 它继续显示默认提示值 但是 我能够分配和检索正确的选定值 这是我的代码 cities dart clas
  • 在 Google 地图中映射 400MB KML 数据 - 如何?

    Re 我有一个 400MB 大的 KML 文件 1 周的旅行和 5000 公里的记录 它已经去除了非必要的数据 压缩后的 GPX 文件大小约为 80MB 或 2 5MB KML 文件大约 30MB 我不确定有多少个航点 但肯定有数十万个 我
  • Google 地理编码——解析可能返回不同结果的地址组件

    我正在使用 Google 地图 V3 api 我正在提交地址搜索以返回正确的地理编码结果 包括地址 机构名称和纬度 经度 我的问题是地理编码器的响应可以采用不同的格式 它始终遵循相同的结构 但某些响应对地址组件数据结构使用不同的键 例如 某
  • 如何将动画应用到 GMSMarker

    我正在通过使用适用于 iOS V1 1 0 的 Google Maps SDK 将 iOS 地图迁移到 google 地图来更改我的应用程序 并且我尝试在添加 删除时对标记进行动画处理 但我在与此相关的文档中没有找到任何建议 请建议我如何在
  • [flutter]为什么我的列对齐总是居中?

    我声明了连续两列来布局文本和图标 即使我设置了图标的列也始终位于中心mainAxisAlignment with MainAxisAlignment start 这是该卡的代码 import package flutter material
  • 如何在Flutter中获取ScrollView中的子滚动偏移位置

    我制作了一个 CustomScrollView 小部件 其中包含 银应用栏 Sliver持久标头 银格 Sliver持久标头 银格 SliverPercientHeader 将是 SliverGrid 中项目的描述 一旦点击 我用 Gest
  • 不使用 BuildContext 预加载图像

    有没有办法在函数中加载 Flutter 中的图像而无需访问 BuildContext Flutter 可以预加载图像precacheImage 需要BuildContext 使用起来不方便 我想加载图像initState StatefulW
  • 如何在Android中读取谷歌地图的kmz文件

    我有 KMZ 文件 我想解析该 KMZ 文件 以便我可以读取我尝试使用的该文件的数据KmlLayer但没有从中得到任何帮助这是我的代码 InputStream inputStream new FileInputStream path Kml
  • dart中解析对象(不支持的操作:无法添加到固定长度列表)

    我有一个用户对象 当用户登录 注册时 该对象保存到云 Firestore 数据库中 因此 当用户登录时 将从数据库中检索用户对象 并且一切正常 直到我尝试对列表 usersProject 执行 添加 操作 Add the new proje
  • Dart 2.2 之后如何设置文字

    直到 2 2 才支持设置文字 如何在 Dart 2 2 之后设置文字 请随意发表评论 谢谢 class item t String name int weight int value main const List
  • 在 flutter 中强制重建有状态子部件

    假设我有一个主屏幕 有状态小部件 其中有一个变量count作为状态 在此主屏幕中 有一个按钮和另一个有状态小部件 我们称之为MyListWidget MyListWidget初始化它自己的小部件initState取决于的值count多变的
  • 向上滚动时固定项目

    所以我有以下屏幕 我正在寻找一种方法 使得当用户向上滚动时 包含进度条和这 4 个数据字段 ItemHeader 的小部件将向上滚动 但搜索容器 SearchTextField 将被固定 到顶部 当然 当用户向下滚动时 它应该重新出现 我找
  • 无效字符错误:“fred”

    我确信他一定是一个新手问题 简单来说 我想定义我的第一个 Polymer dart 组件 只是我一直在同一个减速带上踢脚趾 为了使事情变得非常简单 我将其简化为一个非常简单的示例 我做了一个简单的rename示例 跑表 来自 Dart 组件

随机推荐

  • 访问 cffi 枚举

    假设我在 cffi 下定义了一个枚举 from cffi import FFI ffi FFI ffi cdef typedef enum RANDOM IMMEDIATE SEARCH strategy 现在调用时可以轻松访问cdef再次
  • 如何在 C# 中从 Json 字符串中检索值

    我收到类似的回复 expires Sat 19 May 2046 04 10 58 0000 copy ref SMJNA2wxbGZbnmbnm Result null error null base expires Sat 19 May
  • 如何将 application/json 对象解析为字符串

    我正在以编程方式导航到返回 application json 格式的站点 我似乎无法读取 HttpURLConnection 中返回的 json 我正在使用 Jackson 将 JSON 解组到 java 对象中 代码是 InputStre
  • 最有用的 R 技巧是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 Locked 这个问题及其
  • Java中有常用的有理数库吗?

    我正在寻找一个代表分数 有理数 的Java 库 例如 如果我想存储分数1 3那么它不会被另存为0 33333这将失去其准确性 以下是我期望在此类库中找到的一些功能 getNumerator getDenominator add Ration
  • 多个标头和 ARIA 角色

    我有一个 HTML 结构 它实际上有 2 个标题 在页面的顶部有一些导航项和按钮 下面是另一个部分 其中包含徽标和我所说的主导航 由于全宽 CSS3 渐变 两者都在包装器中被分割 所以我的结构看起来像这样 div div div div
  • 使用 ffmpeg、PHP 和 beanstalk

    我对 ffmpeg 和 beanstalk 很陌生 我需要一些帮助 我想使用 beanstalk 将文件排队以供 ffmpeg 转换 我已经下载 安装并启动了 beanstalkd 还按照建议安装了 libevent 并且我已经下载了 be
  • 用于数字动画的 Jquery 插件

    我正在对服务器进行 ajax 调用 然后更新一些统计信息 我想要一个可以为数字添加动画的插件 例如初始值 65 ajax调用后的值 98 在 2 秒内 显示的值从 65 增加到 98 用户可以看到这一点 就像数字速度表或转速表一样 我的搜索
  • iOS 应用程序在后台时的 GCM 推送通知

    我正在尝试使用 GCM 将推送通知发送到我的 iOS 应用程序 应用程序在后台时不会收到通知 但在前台时会收到通知 我正在使用 PHP 脚本测试推送通知 该脚本还将消息直接发送到 APNS 并且它在后台工作 发送到 GCM 的 JSON 我
  • 将带有图像的 NSAttributedString 保存到 RTF 文件时遇到问题

    我有一些输出 是一个非常简单的 RTF 文件 当我生成此文档时 用户可以通过电子邮件发送它 这一切都运行良好 该文档看起来不错 一旦我有了 NSAttributedString 我就创建一个 NSData 块 并将其写入文件 如下所示 NS
  • 并行输出

    当使用多个进程运行 CMake 生成的 Makefile 时 make jN 输出经常会像这样混乱 8 8 9 Building CXX object App CMakeFiles App dir src File1 cpp o Build
  • JavaFX 8 的基本 JUnit 测试

    我想为 JavaFX 8 应用程序创建基本的 JUnit 测试 我有这个简单的代码示例 public class Main extends Application public static void main String args Ap
  • SQLAlchemy - 在 postgresql 中执行批量更新插入(如果存在,则更新,否则插入)

    我正在尝试使用 SQLAlchemy 模块 而不是 SQL 在 python 中编写批量更新插入 我在 SQLAlchemy 添加中收到以下错误 sqlalchemy exc IntegrityError IntegrityError du
  • 避免打印最后一个逗号

    我正在尝试打印这个循环而不使用最后一个逗号 我一直在谷歌上搜索这个问题 从我所看到的来看 对于这么一个小问题来说 一切似乎都过于复杂 当然有一个简单的解决方案可以避免打印最后一个逗号 如果有人能帮助我 我将不胜感激 这让我发疯 例如 它从
  • 如何获取出现频率最高的值SQL

    我有一个表 Orders id trip id order 表 Trip id hotel id bus id type of trip 和表 Hotel id hotel name 我想获取表订单中最常去的酒店的名称 SELECT hot
  • Avro 生成的类与 json 转换有关的问题 [kotlin]

    我在编组 解组时遇到一个奇怪的问题avro生成的类 我收到的错误是抛出一个不是枚举错误 除非我的班级中没有任何枚举 错误具体是这样的 com fasterxml jackson databind JsonMappingException 不
  • img 标题属性显示块而不是外来字符

    我网站上的一些图片有title包含外来字符的属性 这些字符在网站的其余部分和 HTML 源代码中正确显示 但在小浏览器标题悬停上显示不正确 悬停 别处 Source img width 288 height 145 src http www
  • 返回上传到 firebase 的文件的下载 URL

    有没有一种简单的方法来获取上传到 Firebase 的文件的下载 URL 我尝试过使用我的上传函数返回的快照 但找不到任何东西 fileref put file then function snapshot self addEntry sn
  • Django 异常:django.core.exceptions.ImproperlyConfigured:

    当我在 django shell 中运行相同的代码时 它对我来说工作得很好 但是当我启动Python解释器 Python 2 来检查一些东西时 我在尝试导入时收到错误 from django contrib auth models impo
  • 无法在 Flutter 应用程序中加载当前位置

    我正在使用地理定位器插件并获取当前的纬度和经度 但我无法在 Flutter 应用程序的 initstate 中加载它 它显示渲染错误 void initState TODO implement initState super initSta