安卓谷歌导航Intent模式是什么?

9

我正在开发一个应用程序,将启动导航意图。我知道这不是官方API,但它完美地按照我的要求工作。

我允许用户选择驾车、步行和公交导航到某个位置。直接启动Google Maps导航的意图如下:

google.navigation:ll=加上纬度和经度,然后再加上&mode=,然后是您的交通方式。例如,使用步行路线导航到某个区域:

google.navigation:ll=blah,blah&mode=w

驾车是默认值或&mode=d,骑自行车是&mode=b,但我无法找到公交(公共交通)。

有人以前做过吗?

谢谢!

编辑:到目前为止,我发现mode=public提供自行车路线,mode=transit提供驾车路线,令人沮丧的是,mode=bus也返回自行车路线。

更多信息:mode=train也提供驾车路线......一定有办法解决这个问题......

另一个编辑:我刚刚意识到,我相当确定它不存在,因为在尝试了一些术语后,我意识到我应该启动一个带有公交搜索的Google Maps意图,但是有人知道如何做到这一点吗?


1
现在有点像猜谜游戏... - Patrick Mahoney
唯一的机会就是尝试一切... 从“p”公共交通还是“t”ransport开始? - ChristopheCVB
3个回答

5
经过一番猜测和搜寻,我认为直接启动公交导航是不可能的,因为这需要为乘客选择一辆公交车,这是没有意义的。相反,你可以像下面这样将他们启动到Google地图搜索目的地,感谢这个答案给出了类似问题的解决方案: "http://maps.google.com/maps?daddr=lat,long&dirflg=r" 使用&dirflag指定公共交通方式。(为什么是“r”,我不知道...)

3
你应该能够根据需要添加旅行模式,以下是列出的旅行模式。
  • driving(默认)表示使用道路网络的标准驾驶方向。
  • walking请求通过步行道和人行道(如有)获取步行路线。
  • bicycling请求通过自行车道和首选街道(如有)获取自行车路线。
  • transit请求通过公共交通路线(如有)获取路线。

如果您想启动一个Intent并允许用户在地图或浏览器之间进行选择,可以这样做。

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr="+ starting_point_lat+","+starting_point_long+"&daddr="+dest_point_lat+","+dest_point_long+"&mode=transit"));
startActivity(intent);

0

公共交通是模式r,只需使用即可

google.navigation:q=Taronga+Zoo,+Sydney+Australia&mode=r

这样做就可以了,无需先启动一个URL并等待它重定向到Google地图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接