在Android中的两个位置之间显示方向

时间:2016-04-05 06:02:25

标签: android google-maps direction

我正在开发应用程序来跟踪用户位置。在那里我需要知道如何在Map Activity中显示从一个位置到另一个位置的最短方向。我不应该是一条直线。它应该像一条道路。

2 个答案:

答案 0 :(得分:4)

如果您想在2点之间绘制一条折线,可以使用图书馆Google-Directions-Android

您可以使用compile' com.github.jd-alexander:library:1.0.7'

在gradle上添加库

您可以使用所有点(Latlng)并将它们用于航点方法。

Routing routing = new Routing.Builder()
                .travelMode(/* Travel Mode */)
                .withListener(/* Listener that delivers routing results.*/)
                .waypoints(/*waypoints*/)
                .build();
    routing.execute();

实际代码

 start = new LatLng(18.015365, -77.499382);
    waypoint= new LatLng(18.01455, -77.499333);
    end = new LatLng(18.012590, -77.500659);

    Routing routing = new Routing.Builder()
                .travelMode(Routing.TravelMode.WALKING)
                .withListener(this)
                .waypoints(start, waypoint, end)
                .build();
    routing.execute();

答案 1 :(得分:0)

String uri = String.format(Locale.ENGLISH, "http://maps.google.com/maps?saddr=%s&daddr=%s",  "Malakwal", "Lahore");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
intent.setPackage("com.google.android.apps.maps");
startActivity(intent);