如何将坐标列表传递给默认的谷歌地图应用程序?

时间:2017-07-06 09:28:48

标签: android google-maps

从我的应用程序我打开默认的谷歌地图应用程序。我正是这样做的。

String uri = String.format(Locale.ENGLISH, "geo:0,0?q=%f,%f(%s)",
                locationList.get(1).getLatitude(), locationList.get(1).getLongitude(),"My location");
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
        Log.i(TAG, "Uri is "+ uri);
        this.startActivity(intent);

这很好用。但是有可能传递一个坐标列表并将它们全部绘制出来以便我可以创建一条路径吗?

1 个答案:

答案 0 :(得分:0)

这里试试这个:

String destination = locationList.get(1).getLatitude()+","
                    +locationList.get(1).getLongitude();
            Uri gmmIntentUri = Uri.parse("google.navigation:q="+destination+"&mode=d");
            Log.e(TAG,"Intent uri : "+gmmIntentUri.toString());
            Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
            mapIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            mapIntent.setPackage("com.google.android.apps.maps");
            this.startActivity(mapIntent);

这将在导航模式下从当前位置打开地图到指定目的地。

您可以查看以下链接,指定源与目标之间的路径点: https://developers.google.com/maps/documentation/urls/android-intents https://developers.google.com/maps/documentation/urls/guide

如果您有任何疑问,请告诉我。