5

我想从移动网络链接以导航模式打开 Google 地图。对于使用https://developers.google.com/maps/documentation/ios/urlscheme的 iOS 设备来说,这似乎很容易

Android有没有等价物?我能找到的是:https ://developer.android.com/guide/appendix/g-app-intents.html

但据我所知,这不允许您指定“transitmode”和获取路线所需的其他参数。

4

1 回答 1

10

实际上,对 iOS Doc 中描述的方法稍作修改也可以在这里工作(我在将其放在这里之前对其进行了测试,尽管是在本机应用程序中而不是 Web 链接中)。

使其工作所需的参数与 iOS 文档中列出的参数几乎相同:

来自 iOS 文档:

参数:

  • saddr:设置路线搜索的起点。这可以是纬度、经度或查询格式的地址。如果是返回多个结果的查询字符串,则选择第一个结果。如果该值留空,则将使用用户的当前位置。
  • daddr:设置路线搜索的终点。具有与 saddr 相同的格式和行为。
  • 方向模式:运输方式。可设置为:驾车、公交或步行。

实际上,它们几乎相同。但是,在文档中找不到它们。此外,虽然前 2 个参数在这里正常工作,但最后一个参数方向模式不能按原样工作。但是,下面列出了一种解决方法。

话虽如此,可以构建一个简单的 URL,然后可以将其作为 an 传递,Uri然后Intent将处理要启动的应用程序(如果安装了谷歌地图和/或可供选择的浏览器列表)

String mapURL = http://maps.google.com/maps?saddr=-33.9417, 150.9473&daddr=-33.92050, 151.04287&dirflg=d
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(mapURL));
startActivity(intent);

Transit Mode的一些变化:

  1. &dirflg=d = 用于Driving指示(这是默认模式。将其排除在外与显式放入相同)。
  2. &dirflg=w = 用于步行路线
  3. &dirflg=r = 用于公共交通。
  4. &dirflg=b = 自行车路线。

话虽如此,在运行这些测试时(我承认看到这个问题后我很好奇,想进一步测试一下;-)), “旅行模式”部分 中列出的模式似乎不起作用

一个小小的证明:

在此处输入图像描述 在此处输入图像描述

注意:最初发现选项的功劳

于 2013-07-29T05:51:47.723 回答