Android google.navigation意图模式?

时间:2012-11-06 16:22:36

标签: android android-intent navigation

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

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

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意图,但有谁知道怎么做?

2 个答案:

答案 0 :(得分:4)

经过一番猜测和狩猎之后,我已经决定不可能直接启动公交导航,因为这将涉及选择一辆公共汽车供人骑行,这是没有意义的。

相反,您可以将它们启动到Google地图搜索到目的地,感谢您this answer提出类似的问题:

"http://maps.google.com/maps?daddr=lat,long&dirflg=r"

&dirflag指定公共交通。 (为什么“r”我不知道......)

答案 1 :(得分:1)

您应该可以根据需要附加travel mode,并使用下面列出的旅行模式。

  • 驾驶(默认)表示使用道路网络的标准行车路线。
  • 行走通过行人路径请求步行路线&人行道(如果有的话)。
  • 骑自行车通过自行车道和骑行路径要求骑自行车。首选街道(如果有的话)。
  • 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);