You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter:Geolocator在Edge调用getCurrentPosition()报错求助

解决Geolocator 13.x在Edge浏览器中获取位置失败的问题

可能的原因及对应解决方案

  • Edge位置权限异常

    1. 打开Edge设置,进入「隐私、搜索和服务」→「位置权限」
    2. 确认当前网站的位置权限设为「允许」,同时开启「允许网站请求访问你的位置」选项
    3. 若权限已开启,先切换为「阻止」再重新设为「允许」,强制刷新权限状态
  • Edge进程或组件故障

    1. 关闭所有Edge窗口,打开任务管理器结束所有Edge相关进程(包括后台的Microsoft Edge Helper)
    2. 重启Edge后重新测试代码
    3. 若无效,可重置Edge设置:设置→「重置设置」→「将设置重置为默认值」(注意提前备份书签等数据)
  • Geolocator参数配置问题
    给getCurrentPosition()添加超时、精度配置,适配Edge的位置获取响应逻辑:

    var position = await Geolocator.getCurrentPosition({
      maximumAge: 0,
      timeout: 15000,
      enableHighAccuracy: true
    });
    

    可根据实际情况调整timeout数值,避免因响应慢触发异常

  • Edge兼容性问题
    确认Edge为最新稳定版,若不是则升级;同时打开开发者工具→「设置」→「仿真」,禁用「自动模拟地理位置」,确保调用真实位置服务

额外排查验证

测试Edge原生地理位置API是否正常,运行以下代码:

navigator.geolocation.getCurrentPosition(
  pos => console.log(pos),
  err => console.error(err)
);

如果原生API也报错,说明是Edge本身位置服务的问题;若原生API正常,可尝试降级Geolocator到12.x版本测试兼容性

内容的提问来源于stack exchange,提问作者Rami Dhouib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:14:51