android谷歌地图路线2点之间

时间:2011-09-26 12:09:59

标签: android google-maps

我想在Google地图中的2个点之间绘制路线,并在端点处添加针脚标记。在此,用户可以选择任何驾驶路线,如汽车,骑车,步行。我必须显示路线信息,例如“前方2英里,离开下一条街道”以及估计的时间。因此,我在互联网上找到了很多教程。我找到的最好的是:

http://code.google.com/p/j2memaprouteprovider/source/browse/#svn/trunk/J2MEMapRouteAndroidEx

这是非常复杂和缓慢的。

接下来我找到了这个:

http://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.html

这个与我想要的非常相似,除了一些功能。但它已经过时了。

我还发现我必须使用KML。但我不想因为复杂性而使用它,所以是否有必要使用KML?有没有更好的方法来做到这一点?我可以获得完整的源代码,因为我看到大量的代码感到困惑。非常感谢,。

2 个答案:

答案 0 :(得分:4)

岩石,

最简单的解决方案是打开已安装在Android设备中的“Google Map Application”。只需将源位置和目标位置的纬度和经度作为参数传递,然后按如下方式调用google地图应用程序:

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

使用这种方法,您还可以选择任何驾驶路线,如汽车,骑车,步行等以及应用程序提供的其他功能。

答案 1 :(得分:0)

Google Directions API包含您需要的所有内容。在查看任何完整的源代码之前,我发现更容易了解服务的工作原理。

基本上,您必须执行UrlConnection并读取输入流。如果将基本请求粘贴到浏览器中,则可以看到输入流的外观。例如:     http://maps.googleapis.com/maps/api/directions/xml?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false 结果包含您需要的所有内容,但您必须解析结果以获取分步指导等信息。此外,名为“overview_polyline”的节点将用于在MapView上绘制完整路线。您可以使用公式here将该折线解码为坐标列表。