繁体   English   中英

我想使用网站的 webview 接收地理位置,但在使用 javascript 的颤振飞镖应用程序中

[英]I want to recieve geo location using webview of site but in flutter dart app using javascript

JavaScript 代码:

var x = document.getElementById("x");

    document.getElementById('button').onclick = function() 
    {
        function showPosition(position) 
        {
            console.log("in showPosition");
            x.innerHTML = "Latitude: " + position.coords.latitude +
                "<br>Longitude: " + position.coords.longitude;
        }
        alert("button was clicked");
        console.log("sdfghj");
        if (navigator.geolocation) 
        {

            navigator.geolocation.getCurrentPosition(showPosition);
            console.log("in if ");



        }else 
        {
            x.innerHTML = "Geolocation is not supported by this browser.";
            console.log("in else ");

        }

    }

但是权限请求弹出窗口永远不会打开。 颤振代码:

import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

class WebViewStack extends StatefulWidget {
  const WebViewStack({Key? key}) : super(key: key);

  @override
  State<WebViewStack> createState() => _WebViewStackState();
}


void main() {
  runApp(
    const MaterialApp(
      home: WebViewStack(),
    ),
  );
}

class _WebViewStackState extends State<WebViewStack> {
  var loadingPercentage = 0;

  @override
  Widget build(BuildContext context) {
    return Stack(
      children: [
        WebView(

          javascriptMode: JavascriptMode.unrestricted,
          initialUrl: 'example.com',
        ),
       
      ],
    );
  }
}

但在网络上,它工作正常。 从 WebView 中访问用户位置的正确方法是什么?

我正在开发一个需要使用 HTML 5 地理位置获取用户当前位置的项目。 但我需要知道为什么 WebView 没有显示我当前的位置。 我需要做什么才能在 WebView 中显示地图和当前位置?

如果您的问题是关于缺少权限,您应该使用像Permission Handler这样的插件 - https://pub.dev/packages/permission_handler通读自述文件,您就完成了。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM