gpt4 book ai didi

android - 多点映射 Intent

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:55:04 25 4
gpt4 key购买 nike

我正在尝试向 Google map 发送 Intent 以显示多个点之间的行车路线。我正在使用列出的方法 here但它似乎不是很好用。该应用程序的最终功能是动态创建 map 的 url,但为了测试,我创建了一个带有一堆随机点的静态 map :

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

我的确切代码是:

 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 复制并粘贴到我桌面上的网络浏览器中,它也可以正常工作)另一方面,如果我将它发送到 map 应用程序,那么它就不会正常运行。在我运行 2.2 和 2.3 的一些旧设备上,它显示了行车路线,但只有 2 个点被标记,其中一个甚至不是我在 url 中传递的点之一,而且行车路线很疯狂在不同地点之间来回的多条路线。在任何 4.X 设备上,它什么都不显示,要么显示“网络故障”,要么显示“找不到路由”。我没有任何 3.X 设备,但我希望它的行为方式与其中之一类似。

我不想使用 MapView,因为这对于我的应用程序基于 map 的次要要求来说太过分了。我只想能够向 map 应用程序发送一个 Intent ,显示两个位置之间的路线,中间有航路点。我在新 Maps api 的文档中找不到任何明确的答案,这可能吗?

最佳答案

使用这段代码:

Uri gmmIntentUri = Uri.parse("https://www.google.com/maps/dir/?api=1&origin=18.519513,73.868315&destination=18.518496,73.879259&waypoints=18.520561,73.872435|18.519254,73.876614|18.52152,73.877327|18.52019,73.879935&travelmode=driving");
Intent intent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
intent.setPackage("com.google.android.apps.maps");
try {
startActivity(intent);
} catch (ActivityNotFoundException ex) {
try {
Intent unrestrictedIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
startActivity(unrestrictedIntent);
} catch (ActivityNotFoundException innerEx) {
Toast.makeText(this, "Please install a maps application", Toast.LENGTH_LONG).show();
}
}

More info in this link:https://developers.google.com/maps/documentation/urls/guide

关于android - 多点映射 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19573404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com