我想通过移动网络链接以导航模式打开 Google map 。对于使用 https://developers.google.com/maps/documentation/ios/urlscheme 的 iOS 设备来说,这似乎很容易
是否有适用于 Android 的等效产品?我只能找到这个:https://developer.android.com/guide/appendix/g-app-intents.html
但据我所知,这不允许您指定“transitmode”和获取路线所需的其他参数。
最佳答案
实际上,对 iOS 文档中描述的方法稍作修改也可以在这里使用(我在将它放在这里之前对其进行了测试,尽管是在 native 应用程序中而不是 Web 链接中)。
此功能所需的参数与 iOS 文档中列出的参数几乎相同:
参数:
- saddr:设置路线搜索的起点。这可以是 纬度、经度或查询格式的地址。如果是查询 返回多个结果的字符串,第一个结果将是 选择。如果该值留空,则表示用户当前的 位置将被使用。
- daddr:设置路线搜索的终点。有相同的 格式和行为与 saddr 相同。
- directionsmode:交通方式。可以设置为: 驾车、乘坐公交车或步行。
它们实际上非常相似。但是,在文档中找不到它们。此外,虽然前 2 个参数在这里以通常的方式工作,但最后一个参数 directionsmode 不会按原样工作。但是,下面列出了一种解决方法。
也就是说,可以构造一个简单的 URL,然后将其作为 Uri
传递给 Intent
,然后处理要启动的应用程序(Google map 如果已安装和/或可供选择的浏览器列表)
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);
公交模式的一些变化:
- &dirflg=d =
Driving
方向(这是默认模式。省略它与显式输入相同)。 - &dirflg=w = 步行路线
- &dirflg=r = 用于公共(public)交通。
- &dirflg=b = 骑车路线。
也就是说,在运行这些测试时(我承认我很好奇,在看到这个问题后想进一步测试 ;-)),the Travel Modes section 中列出的模式不似乎行得通!
一些小证明:
关于android - Android 是否有等同于 iOS 的 Google Maps URL 方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915901/