我正在尝试向 Google 地图发送一个意图,以显示多个点之间的行车路线。我正在使用此处列出的方法,但似乎效果不佳。该应用程序的最终功能是动态创建地图的 url,但为了测试,我创建了一个带有一堆随机点的静态地址:
我的确切代码是:
String mapUrl = "https://maps.google.com/maps?saddr=San+Francisco,+CA&daddr=Los+Angeles,+CA+to:Phoenix,+AZ+to:Houston,+TX+to:Jacksonville,+FL+to:New+York,+NY+to:Buffalo,+NY+to:Chicago,+IL+to:Seattle,+WA+to:San+Jose,+CA";
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(mapUrl));
startActivity(i);
如果我从“使用完成操作”菜单将其发送到浏览器,则它可以正常工作。(FWIW,如果我只是将 url 复制并粘贴到我桌面上的网络浏览器中,它也可以正常工作)另一方面,如果我将它发送到 Maps 应用程序,那么它的行为就会不正确。在我运行 2.2 和 2.3 的一些旧设备上,它显示了行车路线,但只标记了 2 个点,其中一个甚至不是我在 url 中传递的点之一,而且行车路线很疯狂多条路线在不同地点之间来回穿梭。在任何 4.X 设备上,它什么都不显示,并且显示“网络故障”或“未找到路由”。我没有任何 3.X 设备,但我希望它的行为方式与其中一个类似。
我不想使用 MapView,因为这对于我的应用程序的基于地图的次要要求来说太过分了。我只想能够向地图应用程序发送一个意图,显示两个位置之间的路线,中间有航点。我在新 Maps api 的文档中找不到任何明确的答案,这可能吗?