如何使用 flutter_webview 插件在 Flutter 中启用位置?

Posted

技术标签:

【中文标题】如何使用 flutter_webview 插件在 Flutter 中启用位置?【英文标题】:How to enable Location in Flutter with flutter_webview plugin? 【发布时间】:2021-01-10 19:06:27 【问题描述】:

我目前正在为一个项目使用flutter_webview 插件。在其中一个页面中,我需要获取用户位置信息来计算距离。网页上有运行 javascript 来获取位置。

这是我的示例代码。

WebView(
  key: _key,
  initialUrl: "https://www.w3schools.com/html/html5_geolocation.asp",
  javascriptMode: JavascriptMode.unrestricted,
  onPageFinished: (_) 
    setState(() 
      _isLoading = false;
    );
  ,
),

如果我在 chrome 上打开同一页面,它会要求位置权限。我想实现类似的东西。

我尝试使用 androidManifest 文件的权限,但无法使其工作。

【问题讨论】:

【参考方案1】:

你必须使用flutter_webview_plugin,有一个地理定位属性你可以启用它。 检查此代码

 Widget build(BuildContext context)  
return WebviewScaffold( 
  url: url, 
  withZoom: true, 
  hidden: true, 
  geolocationEnabled: true,
);
 

【讨论】:

以上是关于如何使用 flutter_webview 插件在 Flutter 中启用位置?的主要内容,如果未能解决你的问题,请参考以下文章

webview_flutter插件如何支持文件上传?

架构 i386 的未定义符号:_FlutterMethodNotImplemented

如何在 Flutter 中打开应用内浏览器窗口中的链接以及如何更改浏览器窗口标题

仅在 Flutter Web 上重定向

inappwebview 中的flutter_problem

加载 HTML 文件并在 Flutter Web 中显示