diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/directions/DirectionsActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/directions/DirectionsActivity.java index 3db32cc88..54b160f93 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/directions/DirectionsActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/directions/DirectionsActivity.java @@ -21,11 +21,14 @@ import com.mapbox.services.Constants; import com.mapbox.services.commons.ServicesException; import com.mapbox.services.commons.geojson.LineString; import com.mapbox.services.commons.models.Position; -import com.mapbox.services.directions.v4.DirectionsCriteria; -import com.mapbox.services.directions.v4.MapboxDirections; -import com.mapbox.services.directions.v4.models.DirectionsResponse; -import com.mapbox.services.directions.v4.models.DirectionsRoute; -import com.mapbox.services.directions.v4.models.Waypoint; +import com.mapbox.services.directions.v5.DirectionsCriteria; +import com.mapbox.services.directions.v5.MapboxDirections; +import com.mapbox.services.directions.v5.models.DirectionsResponse; +import com.mapbox.services.directions.v5.models.DirectionsRoute; + +import java.util.ArrayList; +import java.util.List; + import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -64,10 +67,10 @@ public class DirectionsActivity extends AppCompatActivity { private void loadRoute() { // Dupont Circle (Washington, DC) - Waypoint origin = new Waypoint(-77.04341, 38.90962); + Position origin = Position.fromCoordinates(-77.04341, 38.90962); // The White House (Washington, DC) - Waypoint destination = new Waypoint(-77.0365, 38.8977); + Position destination = Position.fromCoordinates(-77.0365, 38.8977); // Set map at centroid LatLng centroid = new LatLng( @@ -93,11 +96,12 @@ public class DirectionsActivity extends AppCompatActivity { getRoute(origin, destination); } - private void getRoute(Waypoint origin, Waypoint destination) { + private void getRoute(Position origin, Position destination) { try { MapboxDirections md = new MapboxDirections.Builder() .setAccessToken(getString(R.string.mapbox_access_token)) .setOrigin(origin) + .setOverview(DirectionsCriteria.OVERVIEW_FULL) .setDestination(destination) .setProfile(DirectionsCriteria.PROFILE_WALKING) .build(); @@ -136,11 +140,18 @@ public class DirectionsActivity extends AppCompatActivity { builder.alpha(0.5f); builder.width(5); builder.width(5); - LineString lineString = route.asLineString(Constants.OSRM_PRECISION_V4); - for (Position coordinates : lineString.getCoordinates()) { - builder.add(new LatLng(coordinates.getLatitude(), coordinates.getLongitude())); + + LineString lineString = LineString.fromPolyline(route.getGeometry(), Constants.OSRM_PRECISION_V5); + List coordinates = lineString.getCoordinates(); + List points = new ArrayList<>(); + for (int i = 0; i < coordinates.size(); i++) { + points.add(new LatLng( + coordinates.get(i).getLatitude(), + coordinates.get(i).getLongitude())); } + builder.addAll(points); + // Draw Points on MapView mapboxMap.addPolyline(builder); }