【问题标题】:Turn by turn multiple points route navigation Google Maps Intent on Android轮流多点路线导航 Android 上的 Google 地图 Intent
【发布时间】:2016-05-08 14:09:47
【问题描述】:

我正在寻找一种在 Google 地图上打开逐步导航的方法。我从thisgoogle 文章中知道它只能由起点和终点定义。

第一个选项(首选):

我在 Google 地图中没有找到完全符合我要求的意图。有谁知道有没有?

第二个选项:

我尝试了其他方法来达到我想要的效果。我尝试在 maps.google.com 上创建自定义路线(从桌面浏览器)并从 Android 设备打开它。

链接格式如下

https://www.google.com/maps/dir/37.7851009,-122.4049193/37.7817261,-122.4008209/@37.7815141,-122.4059922,16z/data=!4m19!4m18!1m15!3m4!1m2!1d-122.4055931!2d37.7834466!3s0x808580868ad307fd:0xa75b816ccbe984a0!3m4!1m2!1d-122.4061769!2d37.7812298!3s0x80858086b49a3cfb:0x23f20e98c029217c!3m4!1m2!1d-122.4031591!2d37.7817777!3s0x80858080cb0a7eb1:0xdc77f5df810aebcd!1m0!3e2

它不是打开转弯导航,而是打开谷歌地图 Android 应用程序,并在地图上显示路线。这是我想要的最接近的,因为有一个可以显示逐步导航的按钮。

我不知道是否可以从 (lat,lng) 地理点的集合中创建这种类型的链接。我看到数据参数是包含路由的参数。 有谁知道如何到达它?如果可能的话,我认为我可以在我的 Android 应用程序中创建链接以使用 Google 地图应用程序打开。 (实际上我并没有尝试将此链接手动添加到我的应用程序中,但我认为这是可行的。)

更新: 我不想找到从 A 点(起点)到 B 点(终点)的路线。我在地理坐标中拥有从头到尾的所有路线。因此,任何形式从 A 到 B 的解决方案都不能解决我的问题。

【问题讨论】:

标签: android google-maps android-intent google-maps-android-api-2 google-maps-urls


【解决方案1】:

从 2018 年起,您可以使用 Google Maps URLs 在导航模式下打开 Google 地图应用。 Google 地图网址构建了一个通用的跨平台网址来启动 Google 地图,因此您可以根据自己的意图使用它们。

导航模式下的谷歌地图网址支持起点、目的地和航路点。

例如

String url = "https://www.google.com/maps/dir/?api=1&destination=Madrid,Spain&origin=Barcelona,Spain&waypoints=Zaragoza|Huesca&travelmode=driving&dir_action=navigate";           
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);

我希望这会有所帮助!

【讨论】:

  • 我赞成这个答案,因为它似乎符合我的要求。但是,我最近没有在 Android 平台上工作,所以我无法尝试,也无法将其标记为答案。
【解决方案2】:

这是来自文档:

或者,您可以使用 Encoded Polyline Algorithm。如果您有 大量航点,因为 URL 明显更短 使用编码折线时。

  1. 编码的折线必须加前缀 带 enc: 并后跟冒号 (:)。例如: waypoints=enc:gfo}EtohhU:
  2. 您还可以包含多个编码 多段线,由竖线字符 (|) 分隔。例如: 航路点=via:enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|via:enc:udymA{~bxM: 以下 URL 发起路线请求 马萨诸塞州波士顿和马萨诸塞州康科德,在查尔斯顿和 列克星敦,按此顺序:

https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&key=YOUR_API_KEY

来源:https://developers.google.com/maps/documentation/directions/intro#Waypoints

【讨论】:

  • 我不是在寻找方向。也许我的问题并不清楚,但我有路线的所有要点。我只想将我的路线映射到谷歌地图路线以获得谷歌地图的语音导航功能。此外,我的路线中的某些路径可能在谷歌地图上没有道路路径。
【解决方案3】:

您可以尝试查看documentation/tutorial,了解如何通过 Google Maps API 使用转弯路线。它使用 Google Maps Javascript 提供高级功能。

关于语音导航功能,我认为这个 SO question and link 可以帮助你。

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 2018-02-26
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 2010-11-03
    相关资源
    最近更新 更多