谷歌地图方向意图与路线上的多个位置和起始点作为当前位置,android

时间:2015-11-03 21:52:58

标签: android google-maps android-intent

我想启动Google地图意图以当前位置作为起始位置,一个位置作为输入位置,其他位置作为目的地。 谷歌搜索后,以下是我最近的查询

https://maps.google.com/maps?f=d&daddr=41.3951982,-72.855568 to: 41.279386, -72.825098

OR

"https://www.google.com/maps/dir//41.3951982,-72.855568/41.279386,-72.825098"

当我粘贴在浏览器上时,它们都能很好地工作,但在我的移动设备上却没有。我只是得到了来源和目的地。有任何想法吗?

修改 实际上第二个工作。与浏览器不同,它仅显示起始位置和第一个点,但具有完整的导航路径。 :)

2 个答案:

答案 0 :(得分:0)

Android上的Google地图应用不支持多个目的地。您可以尝试使用原生Google Maps Android API在地图上绘图。您可以从Google Maps Directions API获取路线。

答案 1 :(得分:0)

没有任何谷歌批准的方式(据我查看文档)。但我发现这个解决方案工作得很好

    private void navigate(List<LatLng> latLngs) {
    String uri = "";
    for (LatLng latLng : latLngs) {
        if (TextUtils.isEmpty(uri)) {
            uri = String.format(
                "http://maps.google.com/maps?saddr=%s, %s",
                String.valueOf(latLng.latitude).replace(",", "."),
                String.valueOf(latLng.longitude).replace(",", ".")
            );
        } else {
            if (!uri.contains("&daddr")) {
                uri += String.format(
                    "&daddr=%s, %s",
                    String.valueOf(latLng.latitude).replace(",", "."),
                    String.valueOf(latLng.longitude).replace(",", ".")
                );
            } else {
                uri += String.format(
                    "+to:%s, %s",
                    String.valueOf(latLng.latitude).replace(",", "."),
                    String.valueOf(latLng.longitude).replace(",", ".")
                );
            }
        }
    }
    Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
    startActivity(intent);
}