[英]How to open "google.navigation:q=<someLocation>" in android webview?
如何在android webview中打開“google.navigation:q=”? 此 URL 打開單獨的 Google Maps 應用程序,但我希望它出現在我的 webview 中,以便我可以在其下方顯示其他信息。
我在用
在活動 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 尚未打開)並在 webview 本身中啟動輪流導航。
這可能嗎? 請指導。
根據請求方向的官方開發人員指南並啟動谷歌地圖,結果添加&dir_action=navigate
參數:
- dir_action=navigate(可選):根據起點是否可用,啟動到指定目的地的逐向導航或路線預覽。 如果用戶指定了一個原點並且它不靠近用戶當前位置,或者用戶當前位置不可用,則地圖會啟動路線預覽。 如果用戶沒有指定原點(在這種情況下,原點默認為用戶當前位置),或者原點靠近用戶當前位置,地圖將啟動逐向導航。 請注意,並非所有 Google 地圖產品和/或所有目的地之間都提供導航功能; 在這些情況下,此參數將被忽略。
應該可以解決您的問題,但現在 Google 似乎僅通過Google 地圖應用程序支持逐次導航(我什至嘗試從手機瀏覽器手動啟動它,但沒有成功)。 有關更多信息,請查看xomena 的這個答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.