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