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)绘制从当前位置到目的地的行车路线

Android。点击标记后的Google map API工具

如何在 android 上使用 google map api 获取 google 驾驶指令?