【问题标题】:Ability to choose direction type for google maps intent能够为谷歌地图意图选择方向类型
【发布时间】:2013-01-04 17:10:11
【问题描述】:

我正在使用谷歌地图来获取路线。问题在于,无论我在谷歌地图应用程序上搜索的最后哪种类型的路线,路线都会出现。

例如,如果我最后使用谷歌地图获取步行路线,当我使用我的应用程序时,路线将自动搜索步行路线。

我想让用户能够选择他们的方向类型。

这是一个代码sn-p:

String directions = "http://maps.google.com/maps?saddr=" + myLocationString + "&daddr=" + officeLocationString;

                            // Create Google Maps intent from current location to  target location
                            Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
                                    Uri.parse(directions));
                            intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
                            fcontext.startActivity(intent);

【问题讨论】:

    标签: android google-maps android-intent


    【解决方案1】:

    我无法让它与上面的“&directionsmode=”一起工作,它只是被忽略了。我在网络浏览器中使用来自谷歌地图的 URL 进行了一些修改,我发现“&dirflg”工作得更好,无论是在浏览器和安卓操作系统。

    使用这些值:r = 公交,b = 骑自行车,d = 驾驶,w = 步行

    【讨论】:

      【解决方案2】:

      编辑:截至 2013 年 1 月,Google Directions API 已更新,结果现在以 JSON 格式提供。 URL 格式现在看起来像这样

      http://maps.googleapis.com/maps/api/directions/xml?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false

      更多信息请见here


      directionsmode 参数添加到您的 URI 应该可以满足您的需求。

      来自URL scheme docs

      directionsmode:运输方式。可设置为:驾车、公交或步行。

      所以也许您可以尝试以下方法:

      String directions = "http://maps.google.com/maps?saddr=" + myLocationString + "&daddr=" + officeLocationString + "&directionsmode=" + directionsMode;
      

      【讨论】:

      • 非常感谢。理想情况下,我希望用户能够选择他们的交通方式。
      • 这应该不是问题。由于方向模式是一个变量,只需将其设置为用户指定的任何模式。例如,您可以有一个由 3 个图标组成的菜单,并且只需更新与用户选择的模式相对应的方向模式的值。
      • 等一下,这个问题是针对 Android 的,但是这个公认的答案是针对 iOS 的文档,两者并不相同。此外,答案已过时,URL 方案现在是 comgooglemaps://query
      • 谢谢,我不知道我引用的文档是指 iOS。但是,我的回答中提到的 URL 方案仍然完全有效,因为原始发帖人只是打开了一个意图来解析该 URL 中的任何文本。但是,Google 现在在该文档中使用的 URL 方案 (comgooglemaps://) 是特定于 iOS 的。我已使用与设备无关的 URL 方案更新了我的回复。
      • 这个选项似乎对我不起作用,而@JohanShogun 使用 dirflg 的回答成功了!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多