从Android应用程序调用Google Map应用程序以获取驾驶方向

时间:2011-04-02 09:27:08

标签: android google-maps android-intent


我需要使用外部谷歌地图应用程序显示行车方向我发现此链接http://developer.android.com/guide/appendix/g-app-intents.html,但下面打开地图应用程序到指定位置

    Uri uri = Uri.parse("geo:13.070984,80.253639");
    Intent in = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(in);

我需要知道有没有办法通过两个地理位置来获得行车方向。

3 个答案:

答案 0 :(得分:13)

是的,如果您拥有源和目的地的纬度和经度,则很容易显示方向。 只需看下面的代码:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
    Uri.parse("http://maps.google.com/maps?saddr="+latitude_source+","+longitude_source+"&daddr="+latitude_dest+","+longitude_dest));

    startActivity(intent);

其中 您latitude_source=Latitude的来源 您longitude_source=Longitude的来源 您目的地的latitude_dest=Latitude 您目的地的longitude_dest=Longitude

只需将这些值替换为您的实际数据即可。 。在某些特定事件中使用上述代码。

希望这会对你有所帮助。

答案 1 :(得分:0)

我已经通过触发使用Google地图网址的意图实现了这一点 - 地图应用程序将其选中,并且它可以正常运行。我认为这不是官方推荐的,但对我来说运作良好。

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format(http://maps.google.com/maps?saddr=%s&daddr=%s, startAddress, endAddress)));
startActivity(intent);

以上适用于位置名称,您可能需要调整它以使用lat / long。以下是两个有用的纬度/经度点之间的谷歌地图方向网址示例: http://maps.google.co.uk/maps?f=d&source=s_d&saddr=A685&daddr=M40&hl=en&geocode=FazjPwMdRKPc_w%3BFeS8GgMdNMfr_w&mra=me&mrsp=1,0&sz=5&sll=53.800651,-4.064941&sspn=22.244994,67.631836&ie=UTF8&t=h&z=5

答案 2 :(得分:0)

您可以使用以下网址在两个位置之间进行路由。

https://maps.google.com/maps?saddr=kedah&daddr=johor

saddr是开始,而daddr是目的地。

示例代码:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format("http://maps.google.com/maps?saddr=kedah&daddr=johor")));
startActivity(intent);