PhoneGap方向使用原生谷歌地图

时间:2013-10-21 23:54:43

标签: android google-maps geolocation

我有一个包含按钮的应用程序,该按钮应向用户显示本地商家的路线。我希望使用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地图视图以提供分步说明(最好使用原生应用)。

3 个答案:

答案 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