在Android上转弯多点路线导航Google Maps Intent

时间:2016-05-08 14:09:47

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

我正在寻找一种在Google地图上打开精细导航的方法。我知道,从this谷歌文章来看,它只能由起点和终点来定义。

第一个选项(首选):

我还没有在谷歌地图中找到任何符合我想要的意图。有谁知道是否有一个?

第二个选项:

我尝试过其他方式达到我想要的目标。我尝试在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

不是打开转弯导航,而是使用地图上显示的路线打开Goog​​le Map Android应用程序。这是我想要的最近的,因为有一个按钮可以显示转弯导航。

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

更新 我不想找到从A点(起点)到B点(终点)的路线。我有从地理坐标开始到结束的所有路线。因此,从A到B的形式方向的任何解决方案都不能解决我的问题。

3 个答案:

答案 0 :(得分:3)

从2018年起,您可以使用Google Maps URLs以导航模式打开Goog​​le 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明显更短   使用编码折线时。

     
      
  1. 编码折线必须加前缀   使用enc:并后跟冒号(:)。例如:   waypoints = enc:gfo} EtohhU:
  2.   
  3. 您还可以包含多个编码   折线,由竖线字符(|)分隔。例如:   ENC::WC〜oAwquwMdlTxiKtqLyiK:经由路点= | ENC:C〜vnAamswMvlTor @ tjGi} L:|通过:ENC:udymA {〜BXM:   以下URL为其间的路由启动Directions请求   波士顿,马萨诸塞州和康科德,马萨诸塞州,在查尔斯敦和   列克星敦,按顺序:
  4.   

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

答案 2 :(得分:1)

您可以尝试使用Google Maps API查看此documentation/tutorial有关如何使用转弯路线的信息。它使用Google Maps Javascript来提供高级功能。

关于语音导航功能,我认为这个问题和链接可以帮助你。