我正在寻找一种在Google地图上打开精细导航的方法。我知道,从this谷歌文章来看,它只能由起点和终点来定义。
第一个选项(首选):
我还没有在谷歌地图中找到任何符合我想要的意图。有谁知道是否有一个?
第二个选项:
我尝试过其他方式达到我想要的目标。我尝试在maps.google.com上创建自定义路由(从桌面浏览器),然后从Android设备打开它。
该链接具有以下格式
不是打开转弯导航,而是使用地图上显示的路线打开Google Map Android应用程序。这是我想要的最近的,因为有一个按钮可以显示转弯导航。
我不知道是否可以从(lat,lng)地理点的集合创建此类型的链接。我看到数据参数是包含路由的参数。 有谁知道如何达到它?如果有可能,我认为我可以在我的Android应用中创建链接,以便使用Google Maps App打开。 (实际上,我还没有尝试将此链接手动添加到我的应用中,但我认为这样做有效。)
更新 我不想找到从A点(起点)到B点(终点)的路线。我有从地理坐标开始到结束的所有路线。因此,从A到B的形式方向的任何解决方案都不能解决我的问题。
答案 0 :(得分:3)
从2018年起,您可以使用Google Maps URLs以导航模式打开Google Maps应用。 Google Maps URL构建了一个通用的跨平台URL来启动Google Maps,因此您可以将它们与意图一起使用。
导航模式下的Google Maps URL支持起点,终点和航点。
例如
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);
我希望这会有所帮助!
答案 1 :(得分:1)
这来自文档:
或者,您可以使用提供一组编码的坐标 Encoded Polyline Algorithm。如果你有一个,这个特别有用 大量的航点,因为URL明显更短 使用编码折线时。
- 编码折线必须加前缀 使用enc:并后跟冒号(:)。例如: waypoints = enc:gfo} EtohhU:
- 您还可以包含多个编码 折线,由竖线字符(|)分隔。例如: ENC::WC〜oAwquwMdlTxiKtqLyiK:经由路点= | ENC:C〜vnAamswMvlTor @ tjGi} L:|通过:ENC:udymA {〜BXM: 以下URL为其间的路由启动Directions请求 波士顿,马萨诸塞州和康科德,马萨诸塞州,在查尔斯敦和 列克星敦,按顺序:
醇>
来源:https://developers.google.com/maps/documentation/directions/intro#Waypoints
答案 2 :(得分:1)
您可以尝试使用Google Maps API查看此documentation/tutorial有关如何使用转弯路线的信息。它使用Google Maps Javascript来提供高级功能。
关于语音导航功能,我认为这个问题和链接可以帮助你。