我想在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?有没有更好的方法来做到这一点?我可以获得完整的源代码,因为我看到大量的代码感到困惑。非常感谢,。
答案 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将该折线解码为坐标列表。