我目前正在开发一个将启动导航意图的应用程序。我知道这不是官方的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,但是有人知道该怎么做吗?
在一堆猜测和狩猎之后,我决定不可能直接推出公交车导航,因为这将涉及选择一辆公共汽车供人们骑车,这是不这样做的t很有意义。
相反,您可以将它们启动到Google Maps搜索到目的地,谢谢您对类似问题的答案:
"http://maps.google.com/maps?daddr=lat,long&dirflg=r"
使用&dirflag
指定公共交通。(为什么" R"我不知道...)
您应该能够根据需要附加旅行模式,并在下面列出的旅行模式。
- 驾驶(默认)指示使用路线网络的标准驾驶说明。
- 步行请求通过行人路径及以下步行指示。人行道(可用的地方)。
- 骑自行车请求通过自行车路径的骑自行车说明&首选街道(如果有)。
- 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);
公共交通是模式r
,只需使用
google.navigation:q=Taronga+Zoo,+Sydney+Australia&mode=r
可以解决问题,无需先启动URL并等待它重定向到Google Map。