簡體   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