我有一个包含按钮的应用程序,该按钮应向用户显示本地商家的路线。我希望使用Google地图提供路线,其中包含用户当前位置的分步路线指示。
我希望原生谷歌地图应用能够处理路线,但是当我尝试使用href
https://maps.google.com/maps?q=...
时,谷歌地图打开用户的网络浏览器,而不是谷歌地图应用。
这张基于网络的地图没有提供我想要的分步指导 - 它只提供从A点到B点的俯视图。
我也试过了
<a href="geo:38.897096,-77.036545">businesname</a>
和
<a href="geo:someAddressHere">businessname</a>
这些href
执行会启动原生Google地图应用,但不会显示分步指示。
总结:如何显示Google地图视图以提供分步说明(最好使用原生应用)。
答案 0 :(得分:1)
您要找的是intent。这是一个命令,可以将一些信息传递给另一个可以启动它的应用程序。
我要做的是在代码中添加一个方法,当用户触摸按钮时调用该方法。这种方法类似于:
//Pass the link to the itinerary you want
void launchGMaps(String link) {
//Pass the link and the instruction to show something to an Intent
Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(link));
//Give the name of the app to start and the activity to start in this app.
myIntent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
//Gooooooooooo !
startActivity(myIntent);
}
我希望它有所帮助。
˚F
答案 1 :(得分:1)
如果你没有加载inAppBrowser插件,你可以这样做:
window.open("http://maps.google.com/maps?saddr=some+address&daddr=another+Address");
它会打开一个带有路线的新浏览器窗口(但不是本机应用程序)
或者您可以使用之前的答案,但为此您必须执行以下操作。 在主Java文件中,在 super.loadUrl 调用之前添加:
appView.addJavascriptInterface(this, "YouActivityName");
然后从您的javascript中,您使用以下方法:
window.YouActivityName.launchGMaps("http://maps.google.com/maps?saddr=some+address&daddr=another+Address");
如果省略saddr部分android将尝试使用您当前的位置和起始地址
答案 2 :(得分:0)
您不需要任何插件 只需将此用于任何版本的phonegap,但不要在phonegap 3x中使用href 使用window.open();
导航 - window.open(&#34; google.navigation:q = 23.3728831,85.3372199&amp; mode = d&#34;,&#39; _system&#39;);
搜索 - window.open(&#34; geo:0,0?q = pizza&#34;,&#39; _system&#39;);
请阅读 - https://developers.google.com/maps/documentation/android/intents