updated directions example in testapp to v5 (#6843)

This commit is contained in:
Cameron Mace
2016-10-31 12:14:04 -04:00
committed by GitHub
parent 7b3e24d74a
commit 8bee27381c

View File

@@ -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<Position> coordinates = lineString.getCoordinates();
List<LatLng> 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);
}