首页 > 解决方案 > 在 Flutter 中映射为 webview

问题描述

由于 Flutter 中的地图插件非常有限,我使用Angular Google Map构建了一个 Angular 应用程序,并且我试图通过这个web 视图插件在我的 Flutter 应用程序中显示它。
这就是我得到的: 基本上似乎一切正常,但它没有要求我提供权限,因此地图不会呈现。(它在我的浏览器中工作正常) 这是我的代码:



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

class WebMap extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
  return new WebviewScaffold(
   url: "mysite.com",
   appBar: new AppBar(
    title: new Text("Cerca sulla mappa"),
   ),
  );
 }
}

标签: javascriptangulargoogle-mapsdartflutter

解决方案


我尝试使用webview_flutter,但遇到了 Android 的地理定位权限问题。这是GitHub 上关于该问题的公开票。

我所做的解决方法是使用flutter_inappwebview插件并添加地理定位权限提示。

InAppWebView(
  initialUrlRequest:
      URLRequest(url: Uri.parse('https://maps.google.com')),
  androidOnGeolocationPermissionsShowPrompt:
      (InAppWebViewController controller, String origin) async {
    return GeolocationPermissionShowPromptResponse(
      origin: origin,
      allow: true,
      retain: true
    );
  },
)

推荐阅读