Ale*_*uni 6 android google-maps webview android-intent flutter
我想在我的 flutter 应用程序中显示带有路线导航的 Google 地图应用程序。
我正在开发一个 Flutter 应用程序,它可以安排路线、监控驾驶员的进度(在后台)并能够根据用户输入(例如路障)重新安排路线。我想在底部显示一个应用程序栏,其中包含有关进度的信息以及一些用于启动或通知应用程序遇到障碍的按钮。在此栏上方,我想要一个窗口,显示基于时间表当前部分的逐向导航。我希望所有这些都能自动运行,以将用户输入量减少到最低限度(因为用户正在开车)。
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter demo'),
),
body: Center(
child: WebView(
initialUrl: 'https://www.google.com/maps/dir/?api=1&destination=Madrid,Spain&origin=Barcelona,Spain&waypoints=Zaragoza|Huesca&travelmode=driving&dir_action=navigate',
javascriptMode: JavascriptMode.unrestricted,
),
),
bottomNavigationBar: BottomAppBar(
color: Colors.blueGrey,
child: Text('Dashboard'),
),
);
}
Run Code Online (Sandbox Code Playgroud)
我能够使用以下示例 url 设置 WebView:
它显示了带有所需路线和“导航”按钮的 Google 地图网络应用程序。但是,当我按下导航按钮时,net:ERR_UNKNOWN_URL_SCHEME 被丢弃,因为它想要触发意图。我有一种感觉,即使我能够解决此错误,我也只能在新屏幕/页面上打开逐向导航,而不是嵌入到 WebView 中(或我的应用程序中的其他位置) )。
这是否可能,或者我是否在浪费时间试图找到一种方法来实现这项工作?
我认为不可能在 WebView 中强制进行路线导航 Google 地图导航。此外,在您的应用中使用 Google Maps API 创建您自己的路线导航也可能违反Google Maps Platform 的服务条款- 请参阅 3.2.3.d:“不得重新创建 Google 产品或功能”。
我可以建议的是让其他应用程序处理正在广播的意图,以启动外部地图应用程序来处理导航。您可以查看这篇文章,了解如何过滤意图 URL 并让它们在外部处理。
| 归档时间: |
|
| 查看次数: |
3568 次 |
| 最近记录: |