Google maps android:如何通过单击按钮将驾驶或步行路线添加到特定地理点?
Posted
技术标签:
【中文标题】Google maps android:如何通过单击按钮将驾驶或步行路线添加到特定地理点?【英文标题】:Google maps android: How do I add driving or walking directions to a specific geopoint with a button onclick? 【发布时间】:2012-01-27 01:04:25 【问题描述】:我正在为我的校园制作地图,需要帮助。谁能告诉我如何将行车路线添加到特定的地理点?我希望用户单击地图上的地图图标,将他们带到该地点的描述页面,然后可以选择“路线路线”看起来很简单,但我对 Java 和 android 很陌生。
【问题讨论】:
【参考方案1】:Android SDK 不支持行车路线,抱歉。
【讨论】:
路线 API 怎么样? @alvinbaena:Android SDK 中没有“directions API”。虽然可以想象您可以使用一些 javascript 方向 API,但由于技术和许可原因,结果不能与MapView
一起使用。现在,我想,欢迎 OP 尝试启动基于 Web 的 Google 地图方向的 URL,但我对它的机制知之甚少。【参考方案2】:
最简单的选择是链接到 Google 地图应用程序。下面的 URL 将处理该问题。
Uri uri= Uri.parse( "http://maps.google.com/maps?saddr=" + startLocation.getLatitude() + "," + startLocation.getLongitude() + "&daddr="+mapItem.lat + "," + mapItem.lon );
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
mActivity.startActivity(intent);
还可以查看此页面以了解地图网址中的所有选项:
http://www.seomoz.org/ugc/everything-you-never-wanted-to-know-about-google-maps-parameters
【讨论】:
【参考方案3】:我为工作中的应用程序这样做了。
我认为您最好的选择是使用 MapView 并使用 Canvas 在其上绘制路线。
如前所述,要获取路由,Android SDK 中没有原生方式。 所以我会选择一个公共网络服务来为你做这件事。 就我而言,我使用了 Google Directions API:https://developers.google.com/maps/documentation/directions/
它将为您提供从和到您给它的坐标的逐步导航。步骤包括每个点的坐标和描述(即在 Foo Street 继续 100 米,然后向右转向 Bar Street)。您可以使用它在 MapView 上绘制路线(将点与线连接......)并显示书面(甚至口头)方向。检查文档。
它在转弯和曲线中为您提供了很多点。所以即使在环形交叉路口也会很好看。
如果您需要在您的应用程序中执行此操作,它将执行此操作。这对我来说非常有效。
当然,正如 atreat 所展示的,您可以使用第三方应用(谷歌地图导航...)为此启用的公共意图。
【讨论】:
以上是关于Google maps android:如何通过单击按钮将驾驶或步行路线添加到特定地理点?的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 gradle 导入 com.google.maps.android:android-maps-utils
如何在 Google Maps Android SDK 的折线上添加形状
如何使用字符串地址在 google maps API V2 android 中获取地理坐标?
如何通过google map api最新版本(google play service 8.3)绘制从当前位置到目的地的行车路线