如何在android webview中打开"google.navigation:q="?这个URL打开单独的谷歌地图应用程序,但我希望它出现在我的网络视图中,这样我就可以在它下面显示其他信息。
我正在使用
在活动1中:
String urlString="https://www.google" +
".com/maps/dir/?
api=1&destination="+locations.get(position)
+"&travelmode=driving";
Intent mapIntent = new Intent(view.getContext(),
NavigateActivity.class);
mapIntent.putExtra("url", urlString); //Optional parameters
context.startActivity(mapIntent);
活动2:
Bundle extras = getIntent().getExtras();
if (extras != null) {
mapURL = extras.getString("url");
}
WebView webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
if (mapURL != null && !mapURL.isEmpty()) {
webView.loadUrl(mapURL);
}
但它在webview中打开了一个简单的地图应用程序,用户必须手动输入起始目的地。我希望它能自动获取用户的当前位置,并在GPS尚未打开的情况下提示打开GPS,并在网络视图中启动逐点导航。
这可能吗?请引导。
根据官方开发者指南请求方向并启动谷歌地图,结果添加&dir_action=navigate
param:
- dir_action=navigation(可选):根据原点是否可用。如果用户指定了原点并且它不靠近用户的当前位置或用户的当前位置不可用,地图将启动路线预览。如果用户没有指定原点(在这种情况下,原点默认为用户的当前位置),或者原点接近用户的当前位置,地图启动逐点导航。请注意并非所有谷歌地图产品和/或所有目的地;在这些情况下,此参数将被忽略
应该可以解决您的问题,但现在谷歌似乎只通过谷歌地图应用程序支持逐点导航(我甚至试图从手机浏览器手动启动它,但没有成功)。欲了解更多信息,请查看xomena的回答。