无需导航到设置页面即可打开定位服务?颤动飞镖

2024-05-26

我们正在从 Flutter 迁移到 Flutter。我们用这个线程来

在 Flutter 中如何实现这一点?

当前导航到设置的临时代码:

  Future _getCurrentLocation() async {
    Position position;
    try {
      position = await Geolocator().getCurrentPosition(
          desiredAccuracy: LocationAccuracy.bestForNavigation);
    } on PlatformException catch(e){
      print(e.code);
      if(e.code =='PERMISSION_DISABLED'){
        print('Opening settings');
        await openLocationSetting();
        try {
          position = await Geolocator().getCurrentPosition(
              desiredAccuracy: LocationAccuracy.bestForNavigation);
        } on PlatformException catch(e){
          print(e.code);
        }
      }
    }

    setState(() {
//      _center = LatLng(currentLocation['latitude'], currentLocation['longitude']);
      _center = LatLng(position.latitude, position.longitude);
    });
  }
  Future openLocationSetting() async {
    final AndroidIntent intent = new AndroidIntent(
      action: 'android.settings.LOCATION_SOURCE_SETTINGS',
    );
    await intent.launch();

  }

在屏幕主体中添加地图

@override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Builder(
          builder: (context) => Stack(
            children: [
              GoogleMap(
                scrollGesturesEnabled: true,
                tiltGesturesEnabled: true,
                rotateGesturesEnabled: true,
                mapToolbarEnabled: true,
                mapType: MapType.normal,
                onTap: _placeMarker,
                onMapCreated: _onMapCreated,
                markers: Set.from(myMarker),
                initialCameraPosition: CameraPosition(
                  target: _center,
                  zoom: 5.0,
                ),
              ),
              Padding(
                padding: (EdgeInsets.symmetric(horizontal: 16, vertical: 40)),
                child: Align(
                  alignment: Alignment.topRight,
                  child: Column(
                    children: [
                      CircleAvatar(
                        radius: 30,
                        child: IconButton(
                          onPressed: () {
                            navigate(context);
                          },
                          icon: Icon(
                            Icons.done,
                            color: Colors.white,
                          ),
                        ),
                      ),
                      SizedBox(
                        height: 10,
                      ),
                      CircleAvatar(
                        radius: 30,
                        child: IconButton(
                          onPressed: **getLocation**,
                          icon: Icon(
                            Icons.location_on,
                            color: Colors.white,
                          ),
                        ),
                      )
                    ],
                  ),
                ),
              ),
              Padding(
                padding: (EdgeInsets.symmetric(horizontal: 16, vertical: 40)),
                child: Align(
                  alignment: Alignment.topLeft,
                  child: Column(
                    children: [
                      CircleAvatar(
                        radius: 30,
                        child: IconButton(
                          onPressed: () {
                            Navigator.pop(context);
                          },
                          icon: Icon(
                            Icons.chevron_left,
                            color: Colors.white,
                          ),
                        ),
                      ),
                      SizedBox(
                        height: 10,
                      ),
                    ],
                  ),
                ),
              )
            ],
          ),
        ));
  }


  getLocation() async {
    position = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.high);
    print(position);
    mapController.animateCamera(CameraUpdate.newCameraPosition(CameraPosition(
        target: LatLng(position.latitude, position.longitude),
        zoom: 18,
        tilt: 36)));
  }

此代码将初始化主屏幕中的 Google 地图,如果位置已关闭,则会弹出一个警告框,请求许可,然后它将自动打开

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

无需导航到设置页面即可打开定位服务?颤动飞镖 的相关文章

  • Dart 是单线程的,但为什么它使用 Future 对象并执行异步操作

    在文档中 Dart 是单线程的 但为了一次执行两个操作 我们使用与线程相同工作的 future 对象 使用Future对象 futures 来执行异步操作 如果 Dart 是单线程的 那么为什么它允许执行异步操作 Note 异步操作是并行操
  • 查找附近应用程序的用户(iPhone 和 Android)

    我正在开发一个有 iPhone 版本和 Android 版本的应用程序 我的目标是 显示我的应用程序的附近用户列表 iPhone 应用程序用户和 Android 应用程序用户 假设列出当前在 1 英里或 2 英里半径内并且当前正在使用我的应
  • Flutter:未捕获的 ReferenceError:firebase 未定义

    我在 Flutter Web 应用程序中使用 Firebase 服务 但在加载 Firebase 脚本时遇到问题 当我使用扑动时运行 d chrome我看到有错误的空白页面 重新加载页面后加载正常 当我进行 flutter build we
  • 如何在 flutter 搜索页面小部件中消除搜索建议?

    我需要使用默认 flutter 的 Google 地方信息搜索建议搜索页 每当用户开始输入时 我都需要提供自动完成建议 并且我使用异步方式实现了这一点FutureBuilder 现在的问题是我需要将搜索请求的调度去抖 500 毫秒或更长时间
  • 遵循最佳实践在 flutter 中存储 API 密钥的正确方法

    这是在 flutter 中添加秘密 API 密钥的正确方法 最佳实践 以防我想将代码推送到 github 上 我制作了一个使用 API 的简单应用程序 但我以粗略的方式使用密钥只是为了测试该应用程序是否正常工作 通常根据我在后端开发应用程序
  • 是否可以在flutter中开发移动键盘应用程序

    我们想要开发具有一些独特功能 例如在键盘上翻译 的移动键盘应用程序 第三方键盘 我们想知道是否有一种方法可以同时为 IOS 和 Android 开发一次 使用 Flutter 或者其他解决方案 对此有一个长的和一个短的答案 简短的回答基本上
  • 在 flutter 中使用 Cloud Firestore 创建无限列表

    我目前正在将 Cloud Firestore 与 Streambuilder 小部件一起使用 以便使用 Firestore 文档填充 ListView 小部件 new StreamBuilder
  • 快捷栏持续时间和高度

    我正在尝试展示一个小吃店 当我点击手势检测器后 这个小吃有两个按钮 问题是小吃栏出现几秒钟然后消失 所以我有两个问题 如何阻止小吃栏消失 直到用户采取行动并单击按钮 此外 小吃栏具有整个屏幕的高度 如何使其在屏幕底部具有特定高度 您可以使用
  • 渲染时 Flutter SVG 延迟

    我在行中显示 SVG 文件形式的图像和文本 由于某些原因 svg 图像的渲染速度比屏幕的其余部分慢 从而导致延迟 这不利于用户体验 这种延迟正常吗 我该怎么做才能使整个屏幕同时渲染 Row mainAxisAlignment MainAxi
  • 如何使用 Firebase_Auth 和 Flutter 登录 Twitter

    一个人应该如何编程使用 Twitter 登录特征使用firebase auth https pub dev packages firebase auth和颤动 我看到一些使用的例子flutter twitter login https pu
  • Nginx 位置、别名、重写、根

    我正在通过 proxypass 提供 foo bar 服务 并希望继续这样做 但是 我想从 var www mystatic baz swf 等静态地提供 foo bar baz swf 服务 我希望我能做类似的事情 location fo
  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • 如何根据有效(@mentions)和所有主题标签更改文本颜色?

    我想在文本中用不同颜色显示主题标签和有效提及 我得到了这段代码的帮助 该代码仅适用于主题标签 RichText convertHashtag String text List
  • 如何在不需要打开应用程序的情况下显示对话框

    我正在寻找包或以任何方式显示弹出窗口 对话框或模式 而无需打开我的应用程序 例如 本地通知 但我不想使用本地通知进行自定义 flutter 中有类似的东西吗 在 Android 上 您可以使用使用 SYSTEM ALERT WINDOW 的
  • 在 Flutter 中使用 Expansion Tile 和 ListView

    我正在尝试从此构建应用程序image https i stack imgur com gJNkO png 但是当我将 ListView 与此扩展图块放在同一页面中时 屏幕变为空 I added shrinkwrap true并工作了 但现在
  • 由于 mapEventToState 不起作用而引起的 Flutter 块迁移

    我正在关注移民 https bloclibrary dev migration id packagebloc 1到新的块 8 0 0 我正在尝试删除映射事件到状态但我这样做有困难 你能帮我看看该怎么做吗 我已经在下面尝试过 但它不起作用 旧
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • AppLifeCycleState.detached 未被调用

    import package flutter material dart void main gt runApp MyApp class MyApp extends StatelessWidget override Widget build

随机推荐

  • 如何在 Html.BeginForm 中使用 @FileUpload.Get Html 并提交文件列表

    FileUpload GetHtml 有一个默认的提交按钮 但我希望在 Html 开始表单中有一个提交按钮 并使用该替换来提交带有更多参数的文件列表 但是 当我这样做时 在 Action 方法中传递的 IEnumerable 始终为 nul
  • 如何在 Makefile 中定义全局 shell 函数?

    我想定义一个shell函数 bin sh test do some complicated tests 1 2 if something then build thisway 1 2 else build otherway 1 2 fi 这
  • 如何使用 Eclipse 从我的设备检索我的应用程序的沙箱?

    我有一个 Android 应用程序 它使用共享首选项 我使用 Eclipse 在 Android 设备中运行该应用程序 我想拉整个sandbox来自设备到桌面这样我就可以手动查看sharedPreferences的内容 我点击了DDMS并点
  • 从关系数据库中“区分”对象

    我们的 win32 应用程序根据 MySQL 关系数据库中多个表中的数据组装对象 对于这样的对象 多个修订版本存储在数据库中 当存储某些内容的多个修订版本时 迟早您会问自己这样的问题 您是否可以想象两个修订版本之间的差异 所以我的问题是 比
  • Akka/Scala:映射 Future 与 pipelineTo

    In Akka参与者 在发送一个Future结果给另一个演员 A 映射Future发挥作用tell结果给演员 B 定义一个onSuccess未来的回调 其中tell结果给演员 C 管道Future结果给演员pipeTo 其中一些选项已在上一
  • 在Container上手动触发Pull刷新

    如果我想在加载表单后手动触发 Codename One 中的容器上的 拉取刷新 如果有人有任何想法 请告知 很简单 技巧就是使用showListener 假设这是起始代码 取自 Codename One 开发人员指南 拉动刷新 部分 htt
  • 计算唯一值的数量

    如果我有三列 orderNumber name email 我想计算表中有多少个唯一的电子邮件 我该怎么做 像这样的声明 SELECT count email FROM orders 给我总数 I tried SELECT DISTINCT
  • 如何将背景音乐添加到我的 spritekit 文件中

    有人可以给我一个快速简单的步骤 以便在我的应用程序加载后添加背景 m4a 音乐 它是一个精灵套件Xcode文件 音乐是m4a格式 谢谢 尝试用这个 import AVFoundation AVAudioPlayer backgroundMu
  • 如何将 NSDictionary 转换为 NSData,反之亦然?

    我正在发送NSString and UIImage使用蓝牙 我决定将两者都存储在NSDictionary然后将字典转换为NSData 我的问题是如何转换NSDictionary to NSData反之亦然 NSDictionary gt N
  • 为什么 Xcode 会为选择器列出自动完成方法?

    自从我升级到最新的 Xcode 以来 自动完成功能就列出了 删除线 方法selector目的 我无法判断这是 Xcode 的错误还是有一些我不知道的新语法更改 如果你把它插入你的 Playground 并删除里面的方法 selector t
  • 从 XElement 中删除属性

    请考虑这个 XElement
  • 如何在 R 中创建没有情节的图例?

    这是一个艺术项目 我创建了一个包含 5 种不同颜色的许多点的散点图 我想创建一个与绘图完全分开的图例 因为它不在绘图上 也不在绘图旁边 而是在它自己的窗口中 因此我可以将图例保存为它自己的 pdf 文件 这样我就可以将我的情节和图例分开打印
  • 我应该如何管理 MVC Core 中的 DbContext 生命周期?

    来自文档 https learn microsoft com en us aspnet core fundamentals dependency injection 实体框架上下文should添加到服务容器中 使用Scoped寿命 如果您这
  • PyPDF2 复制后返回空白 PDF

    def EncryptPDFFiles password directory pdfFiles success 0 Get all PDF files from a directory for folderName subFolders f
  • 如何使整个 jqGrid 禁用/只读

    如何使整个 jqGrid 禁用 只读 我有一个带有逻辑 编辑部分 的页面 当用户选择要编辑的内容时显示该页面 并在用户完成编辑 保存或取消 时隐藏该页面 显示编辑部分时 我禁用了页面上的几个其他元素 我想禁用他们在 jqGrid 中单击的能
  • 在iOS上模仿截图flash动画

    我正在寻找一种复制按 home lock 时播放的 闪烁 动画的方法 有谁知道这个动画是否可用 在 iOS 设备上 当您按下 home lock 并且屏幕闪烁白色时 您会截取屏幕截图 你说的是这个效果吗 如果是这样 请尝试以下操作 Add
  • mysql查询where条件比较char字段与int 0的一些现象

    有一桌 root localhost test 05 35 05 gt desc t Field Type Null Key Default Extra id int 11 NO PRI NULL auto increment studio
  • Objective c 中的 UIButton 虚线下划线

    正常下划线有效 但点下划线似乎不起作用 UIButton btn UIButton buttonWithType UIButtonTypeCustom btn frame CGRectMake 100 10 300 300 NSMutabl
  • 如何强制Emma代码覆盖率报告忽略某些方法?

    有些方法 例如自动生成的 getter setter equals 和 toString 对于测试来说是微不足道的 但是 如果不将它们添加到测试类中 代码覆盖率 使用 Emma 计算 就会降低 并可能导致我们的系统构建崩溃 如何强制 emm
  • 无需导航到设置页面即可打开定位服务?颤动飞镖

    我们正在从 Flutter 迁移到 Flutter 我们用这个线程来 在 Flutter 中如何实现这一点 当前导航到设置的临时代码 Future getCurrentLocation async Position position try