diff --git a/MapboxAndroidDemo/build.gradle b/MapboxAndroidDemo/build.gradle
index 5a3ccbea1..fdb8196ea 100644
--- a/MapboxAndroidDemo/build.gradle
+++ b/MapboxAndroidDemo/build.gradle
@@ -88,6 +88,8 @@ dependencies {
// Mapbox dependencies
api (dependenciesList.mapboxMapSdk)
+ implementation dependenciesList.mapboxTurf
+ implementation dependenciesList.mapboGeoJson
// Mapbox plugins
implementation dependenciesList.mapboxPluginLocationLayer
diff --git a/MapboxAndroidDemo/src/main/AndroidManifest.xml b/MapboxAndroidDemo/src/main/AndroidManifest.xml
index 848ba3222..472ed3011 100644
--- a/MapboxAndroidDemo/src/main/AndroidManifest.xml
+++ b/MapboxAndroidDemo/src/main/AndroidManifest.xml
@@ -129,7 +129,7 @@
android:label="@string/activity_plugins_places_plugin_title">
+ android:value="com.mapbox.mapboxandroiddemo.MainActivity" />
+ android:label="@string/activity_lab_symbol_layer_and_mapillary_on_map_title"
+ android:screenOrientation="portrait">
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/MainActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/MainActivity.java
index fac235bdf..ac0850253 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/MainActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/MainActivity.java
@@ -55,8 +55,8 @@
import com.mapbox.mapboxandroiddemo.examples.extrusions.PopulationDensityExtrusionActivity;
import com.mapbox.mapboxandroiddemo.examples.extrusions.RotationExtrusionActivity;
import com.mapbox.mapboxandroiddemo.examples.javaservices.DirectionsActivity;
-import com.mapbox.mapboxandroiddemo.examples.javaservices.MatrixApiActivity;
import com.mapbox.mapboxandroiddemo.examples.javaservices.MapMatchingActivity;
+import com.mapbox.mapboxandroiddemo.examples.javaservices.MatrixApiActivity;
import com.mapbox.mapboxandroiddemo.examples.javaservices.OptimizationActivity;
import com.mapbox.mapboxandroiddemo.examples.javaservices.SimplifyPolylineActivity;
import com.mapbox.mapboxandroiddemo.examples.javaservices.StaticImageActivity;
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/DirectionsActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/DirectionsActivity.java
index 035f18e03..70c6e3c66 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/DirectionsActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/DirectionsActivity.java
@@ -6,6 +6,11 @@
import android.util.Log;
import android.widget.Toast;
+import com.mapbox.api.directions.v5.DirectionsCriteria;
+import com.mapbox.api.directions.v5.MapboxDirections;
+import com.mapbox.api.directions.v5.models.DirectionsResponse;
+import com.mapbox.api.directions.v5.models.DirectionsRoute;
+import com.mapbox.geojson.Point;
import com.mapbox.mapboxandroiddemo.R;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
@@ -14,10 +19,6 @@
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
-import com.mapbox.services.api.directions.v5.DirectionsCriteria;
-import com.mapbox.services.api.directions.v5.MapboxDirections;
-import com.mapbox.services.api.directions.v5.models.DirectionsResponse;
-import com.mapbox.services.api.directions.v5.models.DirectionsRoute;
import com.mapbox.services.commons.geojson.LineString;
import com.mapbox.services.commons.models.Position;
@@ -53,10 +54,10 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_javaservices_directions);
// Alhambra landmark in Granada, Spain.
- final Position origin = Position.fromCoordinates(-3.588098, 37.176164);
+ final Point origin = Point.fromLngLat(-3.588098, 37.176164);
// Plaza del Triunfo in Granada, Spain.
- final Position destination = Position.fromCoordinates(-3.601845, 37.184080);
+ final Point destination = Point.fromLngLat(-3.601845, 37.184080);
// Setup the MapView
@@ -69,11 +70,11 @@ public void onMapReady(MapboxMap mapboxMap) {
// Add origin and destination to the map
mapboxMap.addMarker(new MarkerOptions()
- .position(new LatLng(origin.getLatitude(), origin.getLongitude()))
+ .position(new LatLng(origin.latitude(), origin.longitude()))
.title(getString(R.string.directions_activity_marker_options_origin_title))
.snippet(getString(R.string.directions_activity_marker_options_origin_snippet)));
mapboxMap.addMarker(new MarkerOptions()
- .position(new LatLng(destination.getLatitude(), destination.getLongitude()))
+ .position(new LatLng(destination.latitude(), destination.longitude()))
.title(getString(R.string.directions_activity_marker_options_destination_title))
.snippet(getString(R.string.directions_activity_marker_options_destination_snippet)));
@@ -83,14 +84,14 @@ public void onMapReady(MapboxMap mapboxMap) {
});
}
- private void getRoute(Position origin, Position destination) {
+ private void getRoute(Point origin, Point destination) {
- client = new MapboxDirections.Builder()
- .setOrigin(origin)
- .setDestination(destination)
- .setOverview(DirectionsCriteria.OVERVIEW_FULL)
- .setProfile(DirectionsCriteria.PROFILE_CYCLING)
- .setAccessToken(getString(R.string.access_token))
+ client = MapboxDirections.builder()
+ .origin(origin)
+ .destination(destination)
+ .overview(DirectionsCriteria.OVERVIEW_FULL)
+ .profile(DirectionsCriteria.PROFILE_CYCLING)
+ .accessToken(getString(R.string.access_token))
.build();
client.enqueueCall(new Callback() {
@@ -103,16 +104,16 @@ public void onResponse(Call call, Response call, Throwable throwable) {
private void drawRoute(DirectionsRoute route) {
// Convert LineString coordinates into LatLng[]
- LineString lineString = LineString.fromPolyline(route.getGeometry(), PRECISION_6);
+ LineString lineString = LineString.fromPolyline(route.geometry(), PRECISION_6);
List coordinates = lineString.getCoordinates();
LatLng[] points = new LatLng[coordinates.size()];
for (int i = 0; i < coordinates.size(); i++) {
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/MapMatchingActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/MapMatchingActivity.java
index 2c131b7f8..a146def4b 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/MapMatchingActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/MapMatchingActivity.java
@@ -6,6 +6,11 @@
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
+import com.mapbox.api.matching.v5.MapboxMapMatching;
+import com.mapbox.api.matching.v5.models.MapMatchingResponse;
+import com.mapbox.core.exceptions.ServicesException;
+import com.mapbox.geojson.Point;
+import com.mapbox.geojson.utils.PolylineUtils;
import com.mapbox.mapboxandroiddemo.R;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.Polyline;
@@ -15,14 +20,9 @@
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.services.Constants;
-import com.mapbox.services.api.ServicesException;
-import com.mapbox.services.api.mapmatching.v5.MapMatchingCriteria;
-import com.mapbox.services.api.mapmatching.v5.MapboxMapMatching;
-import com.mapbox.services.api.mapmatching.v5.models.MapMatchingResponse;
import com.mapbox.services.commons.geojson.FeatureCollection;
import com.mapbox.services.commons.geojson.LineString;
import com.mapbox.services.commons.models.Position;
-import com.mapbox.services.commons.utils.PolylineUtils;
import java.io.BufferedReader;
import java.io.InputStream;
@@ -35,6 +35,9 @@
import retrofit2.Callback;
import retrofit2.Response;
+import static com.mapbox.api.directions.v5.DirectionsCriteria.PROFILE_DRIVING;
+
+
/**
* Match raw GPS points to the map so they align with roads and pathways.
*/
@@ -57,7 +60,7 @@ protected void onCreate(Bundle savedInstanceState) {
// This contains the MapView in XML and needs to be called after the access token is configured.
setContentView(R.layout.activity_javaservices_map_matching);
- mapView = (MapView) findViewById(R.id.mapView);
+ mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
@@ -110,11 +113,11 @@ protected void onSaveInstanceState(Bundle outState) {
mapView.onSaveInstanceState(outState);
}
- private class DrawGeoJson extends AsyncTask> {
+ private class DrawGeoJson extends AsyncTask> {
@Override
- protected List doInBackground(Void... voids) {
+ protected List doInBackground(Void... voids) {
- List points = new ArrayList<>();
+ List points = new ArrayList<>();
try {
// Load GeoJSON file
@@ -125,54 +128,54 @@ protected List doInBackground(Void... voids) {
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
-
inputStream.close();
FeatureCollection featureCollection = FeatureCollection.fromJson(sb.toString());
LineString lineString = (LineString) featureCollection.getFeatures().get(0).getGeometry();
- points = lineString.getCoordinates();
+ for (Position singlePosition : lineString.getCoordinates()) {
+ points.add(Point.fromLngLat(singlePosition.getLongitude(),
+ singlePosition.getLatitude()));
+ }
} catch (Exception exception) {
Log.e(TAG, "Exception Loading GeoJSON: " + exception.toString());
}
-
return points;
}
@Override
- protected void onPostExecute(List points) {
+ protected void onPostExecute(List points) {
super.onPostExecute(points);
drawBeforeMapMatching(points);
-
- Position[] coordinates = new Position[points.size()];
- drawMapMatched(points.toArray(coordinates));
+ drawMapMatched(points);
}
}
- private void drawBeforeMapMatching(List points) {
+ private void drawBeforeMapMatching(List points) {
LatLng[] pointsArray = new LatLng[points.size()];
for (int i = 0; i < points.size(); i++) {
- pointsArray[i] = new LatLng(points.get(i).getLatitude(), points.get(i).getLongitude());
+ pointsArray[i] = new LatLng(points.get(i).latitude(), points.get(i).longitude());
}
map.addPolyline(new PolylineOptions()
- .add(pointsArray)
- .color(Color.parseColor("#8a8acb"))
- .alpha(0.65f)
- .width(4));
+ .add(pointsArray)
+ .color(Color.parseColor("#8a8acb"))
+ .alpha(0.65f)
+ .width(4));
}
- private void drawMapMatched(Position[] coordinates) {
+ private void drawMapMatched(List coordinates) {
try {
// Setup the request using a client.
- MapboxMapMatching client = new MapboxMapMatching.Builder()
- .setAccessToken(Mapbox.getAccessToken())
- .setProfile(MapMatchingCriteria.PROFILE_DRIVING)
- .setCoordinates(coordinates)
- .build();
+ MapboxMapMatching client = MapboxMapMatching.builder()
+ .accessToken(Mapbox.getAccessToken())
+ .profile(PROFILE_DRIVING)
+ .coordinates(coordinates)
+ .build();
// Execute the API call and handle the response.
client.enqueueCall(new Callback() {
@Override
- public void onResponse(Call call, Response response) {
+ public void onResponse(Call call,
+ Response response) {
// Create a new list to store the map matched coordinates.
List mapMatchedPoints = new ArrayList<>();
@@ -181,16 +184,15 @@ public void onResponse(Call call, Response positions = PolylineUtils.decode(geometry, Constants.PRECISION_6);
- if (positions == null) {
+ String geometry = response.body().matchings().get(0).geometry();
+ List pointList = PolylineUtils.decode(geometry, Constants.PRECISION_6);
+ if (pointList == null) {
return;
}
- for (int i = 0; i < positions.size(); i++) {
- mapMatchedPoints.add(new LatLng(
- positions.get(i).getLatitude(),
- positions.get(i).getLongitude()));
+ for (Point singlePosition : pointList) {
+ mapMatchedPoints.add(new LatLng(singlePosition.latitude(),
+ singlePosition.longitude()));
}
if (mapMatchedRoute != null) {
@@ -199,9 +201,9 @@ public void onResponse(Call call, Response positionList;
+ private List pointList;
private FeatureCollection featureCollection;
private RecyclerView recyclerView;
private MatrixApiLocationRecyclerViewAdapter matrixApiLocationRecyclerViewAdapter;
@@ -95,13 +97,13 @@ public boolean onMarkerClick(@NonNull Marker marker) {
// Make a call to the Mapbox Matrix API
makeMapboxMatrixApiCall(getClickedMarkerNumInPositionList(marker), Position.fromCoordinates(
- marker.getPosition().getLongitude(),
- marker.getPosition().getLatitude()));
+ marker.getPosition().getLongitude(),
+ marker.getPosition().getLatitude()));
return false;
}
});
Toast.makeText(MatrixApiActivity.this, R.string.click_on_marker_instruction_toast,
- Toast.LENGTH_SHORT).show();
+ Toast.LENGTH_SHORT).show();
}
});
}
@@ -122,9 +124,9 @@ private int getClickedMarkerNumInPositionList(Marker clickedMarker) {
private void initRecyclerView() {
matrixApiLocationRecyclerViewAdapter = new MatrixApiLocationRecyclerViewAdapter(this,
- matrixLocationList);
+ matrixLocationList);
recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext(),
- LinearLayoutManager.HORIZONTAL, true));
+ LinearLayoutManager.HORIZONTAL, true));
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(matrixApiLocationRecyclerViewAdapter);
SnapHelper snapHelper = new LinearSnapHelper();
@@ -134,24 +136,23 @@ private void initRecyclerView() {
private void makeMapboxMatrixApiCall(final int markerPositionInList, Position positionOfClickedMarker) {
// Build Mapbox Matrix API parameters
- MapboxDirectionsMatrix directionsMatrixClient = new MapboxDirectionsMatrix.Builder()
- .setAccessToken(getString(R.string.access_token))
- .setProfile(DirectionsCriteria.PROFILE_DRIVING)
- .setOrigin(positionOfClickedMarker)
- .setCoordinates(positionList)
- .build();
+ MapboxMatrix directionsMatrixClient = MapboxMatrix.builder()
+ .accessToken(getString(R.string.access_token))
+ .profile(DirectionsCriteria.PROFILE_DRIVING)
+ .coordinates(pointList)
+ .build();
// Handle the API response
- directionsMatrixClient.enqueueCall(new Callback() {
+ directionsMatrixClient.enqueueCall(new Callback() {
@Override
- public void onResponse(Call call,
- Response response) {
- double[][] durationsToAllOfTheLocationsFromTheORigin = response.body().getDurations();
- for (int x = 0; x < durationsToAllOfTheLocationsFromTheORigin.length; x++) {
+ public void onResponse(Call call,
+ Response response) {
+ List durationsToAllOfTheLocationsFromTheOrigin = response.body().durations();
+ for (int x = 0; x < durationsToAllOfTheLocationsFromTheOrigin.size(); x++) {
String finalConvertedFormattedDistance = String.valueOf(new DecimalFormat("#.##")
- .format(TurfHelpers.convertDistance(
- durationsToAllOfTheLocationsFromTheORigin[markerPositionInList][x],
- "meters", "miles")));
+ .format(TurfConversion.convertDistance(
+ durationsToAllOfTheLocationsFromTheOrigin.get(markerPositionInList)[x],
+ "meters", "miles")));
if (x == markerPositionInList) {
matrixLocationList.get(x).setDistanceFromOrigin(finalConvertedFormattedDistance);
}
@@ -163,9 +164,9 @@ public void onResponse(Call call,
}
@Override
- public void onFailure(Call call, Throwable throwable) {
+ public void onFailure(Call call, Throwable throwable) {
Toast.makeText(MatrixApiActivity.this, R.string.call_error,
- Toast.LENGTH_SHORT).show();
+ Toast.LENGTH_SHORT).show();
Log.d("MatrixApiActivity", "onResponse onFailure");
}
});
@@ -173,13 +174,13 @@ public void onFailure(Call call, Throwable throwable)
private void addMarkers() {
Icon lightningBoltIcon = IconFactory.getInstance(MatrixApiActivity.this)
- .fromResource(R.drawable.lightning_bolt);
- for (Feature feature : featureCollection.getFeatures()) {
+ .fromResource(R.drawable.lightning_bolt);
+ for (Feature feature : featureCollection.features()) {
mapboxMap.addMarker(new MarkerOptions()
- .position(new LatLng(feature.getProperty("Latitude").getAsDouble(),
- feature.getProperty("Longitude").getAsDouble()))
- .snippet(feature.getStringProperty("Station_Name"))
- .icon(lightningBoltIcon));
+ .position(new LatLng(feature.getProperty("Latitude").getAsDouble(),
+ feature.getProperty("Longitude").getAsDouble()))
+ .snippet(feature.getStringProperty("Station_Name"))
+ .icon(lightningBoltIcon));
}
}
@@ -205,24 +206,23 @@ private void initPositionListFromGeoJsonFile() {
featureCollection = FeatureCollection.fromJson(loadGeoJsonFromAsset("boston_charge_stations.geojson"));
// Initialize List for eventual use in the Matrix API call
- positionList = new ArrayList<>();
+ pointList = new ArrayList<>();
// Get the position of each GeoJSON feature and build the list of Position
// objects for eventual use in the Matrix API call
- for (Feature singleLocation : featureCollection.getFeatures()) {
- Position singleLocationPosition = (Position) singleLocation.getGeometry().getCoordinates();
- positionList.add(singleLocationPosition);
+ for (Feature singleLocation : featureCollection.features()) {
+ pointList.add((Point) singleLocation.geometry());
}
}
private void initMatrixLocationListForRecyclerView() {
matrixLocationList = new ArrayList<>();
- for (int x = 0; x < featureCollection.getFeatures().size(); x++) {
+ for (Feature feature : featureCollection.features()) {
SingleRecyclerViewMatrixLocation singleRecyclerViewLocation = new SingleRecyclerViewMatrixLocation();
- singleRecyclerViewLocation.setName(featureCollection.getFeatures().get(x)
- .getStringProperty("Station_Name"));
- singleRecyclerViewLocation.setLocationLatLng(new LatLng(positionList.get(x).getLatitude(),
- positionList.get(x).getLongitude()));
+ singleRecyclerViewLocation.setName(feature.getStringProperty("Station_Name"));
+ singleRecyclerViewLocation.setLocationLatLng(new LatLng(((Point)
+ feature.geometry()).latitude(),
+ ((Point) feature.geometry()).longitude()));
matrixLocationList.add(singleRecyclerViewLocation);
}
}
@@ -301,7 +301,7 @@ public void setLocationLatLng(LatLng locationLatLng) {
}
static class MatrixApiLocationRecyclerViewAdapter extends
- RecyclerView.Adapter {
+ RecyclerView.Adapter {
private List matrixLocationList;
private Context context;
@@ -315,7 +315,7 @@ public MatrixApiLocationRecyclerViewAdapter(Context context,
@Override
public MatrixApiLocationRecyclerViewAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.rv_matrix_card, parent, false);
+ .inflate(R.layout.rv_matrix_card, parent, false);
return new MatrixApiLocationRecyclerViewAdapter.MyViewHolder(itemView);
}
@@ -325,8 +325,8 @@ public void onBindViewHolder(MatrixApiLocationRecyclerViewAdapter.MyViewHolder h
holder.name.setText(singleRecyclerViewLocation.getName());
String finalDistance = singleRecyclerViewLocation.getDistanceFromOrigin()
- == null ? "" : String.format(context.getString(R.string.miles_distance),
- singleRecyclerViewLocation.getDistanceFromOrigin());
+ == null ? "" : String.format(context.getString(R.string.miles_distance),
+ singleRecyclerViewLocation.getDistanceFromOrigin());
holder.distance.setText(finalDistance);
}
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/OptimizationActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/OptimizationActivity.java
index bb64907f9..e87b4eecc 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/OptimizationActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/OptimizationActivity.java
@@ -7,6 +7,11 @@
import android.util.Log;
import android.widget.Toast;
+import com.mapbox.api.directions.v5.DirectionsCriteria;
+import com.mapbox.api.directions.v5.models.DirectionsRoute;
+import com.mapbox.api.optimization.v1.MapboxOptimization;
+import com.mapbox.api.optimization.v1.models.OptimizationResponse;
+import com.mapbox.geojson.Point;
import com.mapbox.mapboxandroiddemo.R;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
@@ -16,16 +21,13 @@
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
-import com.mapbox.services.api.directions.v5.DirectionsCriteria;
-import com.mapbox.services.api.directions.v5.models.DirectionsRoute;
-import com.mapbox.services.api.optimizedtrips.v1.MapboxOptimizedTrips;
-import com.mapbox.services.api.optimizedtrips.v1.models.OptimizedTripsResponse;
import com.mapbox.services.commons.geojson.LineString;
import com.mapbox.services.commons.models.Position;
import java.util.ArrayList;
import java.util.List;
+
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@@ -41,10 +43,10 @@ public class OptimizationActivity extends AppCompatActivity implements OnMapRead
private MapView mapView;
private MapboxMap mapboxMap;
private DirectionsRoute optimizedRoute;
- private MapboxOptimizedTrips optimizedClient;
+ private MapboxOptimization optimizedClient;
private Polyline optimizedPolyline;
- private List stops;
- private Position origin;
+ private List stops;
+ private Point origin;
private static final String FIRST = "first";
private static final String ANY = "any";
@@ -78,7 +80,7 @@ public void onMapReady(MapboxMap mapboxMap) {
this.mapboxMap = mapboxMap;
// Add origin and destination to the mapboxMap
mapboxMap.addMarker(new MarkerOptions()
- .position(new LatLng(origin.getLatitude(), origin.getLongitude()))
+ .position(new LatLng(origin.latitude(), origin.longitude()))
.title(getString(R.string.origin)));
Toast.makeText(OptimizationActivity.this, R.string.click_instructions, Toast.LENGTH_SHORT).show();
mapboxMap.addOnMapClickListener(this);
@@ -119,36 +121,36 @@ private void addDestinationMarker(LatLng point) {
}
private void addPointToStopsList(LatLng point) {
- stops.add(Position.fromCoordinates(point.getLongitude(), point.getLatitude()));
+ stops.add(Point.fromLngLat(point.getLongitude(), point.getLatitude()));
}
private void addFirstStopToStopsList() {
// Set first stop
- origin = Position.fromCoordinates(30.335098600000038, 59.9342802);
+ origin = Point.fromLngLat(30.335098600000038, 59.9342802);
stops.add(origin);
}
- private void getOptimizedRoute(List coordinates) {
- optimizedClient = new MapboxOptimizedTrips.Builder()
- .setSource(FIRST)
- .setDestination(ANY)
- .setCoordinates(coordinates)
- .setOverview(DirectionsCriteria.OVERVIEW_FULL)
- .setProfile(DirectionsCriteria.PROFILE_DRIVING)
- .setAccessToken(Mapbox.getAccessToken())
+ private void getOptimizedRoute(List coordinates) {
+ optimizedClient = MapboxOptimization.builder()
+ .source(FIRST)
+ .destination(ANY)
+ .coordinates(coordinates)
+ .overview(DirectionsCriteria.OVERVIEW_FULL)
+ .profile(DirectionsCriteria.PROFILE_DRIVING)
+ .accessToken(Mapbox.getAccessToken())
.build();
- optimizedClient.enqueueCall(new Callback() {
+ optimizedClient.enqueueCall(new Callback() {
@Override
- public void onResponse(Call call, Response response) {
+ public void onResponse(Call call, Response response) {
if (!response.isSuccessful()) {
Log.d("DirectionsActivity", getString(R.string.no_success));
Toast.makeText(OptimizationActivity.this, R.string.no_success, Toast.LENGTH_SHORT).show();
return;
} else {
- if (response.body().getTrips().isEmpty()) {
+ if (response.body().trips().isEmpty()) {
Log.d("DirectionsActivity", getString(R.string.successful_but_no_routes) + " size = "
- + response.body().getTrips().size());
+ + response.body().trips().size());
Toast.makeText(OptimizationActivity.this, R.string.successful_but_no_routes,
Toast.LENGTH_SHORT).show();
return;
@@ -156,12 +158,12 @@ public void onResponse(Call call, Response call, Throwable throwable) {
+ public void onFailure(Call call, Throwable throwable) {
Log.d("DirectionsActivity", "Error: " + throwable.getMessage());
}
});
@@ -182,7 +184,7 @@ private void drawOptimizedRoute(DirectionsRoute route) {
private LatLng[] convertLineStringToLatLng(DirectionsRoute route) {
// Convert LineString coordinates into LatLng[]
- LineString lineString = LineString.fromPolyline(route.getGeometry(), PRECISION_6);
+ LineString lineString = LineString.fromPolyline(route.geometry(), PRECISION_6);
List coordinates = lineString.getCoordinates();
LatLng[] points = new LatLng[coordinates.size()];
for (int i = 0; i < coordinates.size(); i++) {
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/StaticImageActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/StaticImageActivity.java
index 69aa6eb09..56d5393b2 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/StaticImageActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/javaservices/StaticImageActivity.java
@@ -7,10 +7,11 @@
import android.view.View;
import android.widget.ImageView;
+import com.mapbox.api.staticmap.v1.MapboxStaticMap;
+import com.mapbox.geojson.Point;
import com.mapbox.mapboxandroiddemo.MainActivity;
import com.mapbox.mapboxandroiddemo.R;
import com.mapbox.services.Constants;
-import com.mapbox.services.api.staticimage.v1.MapboxStaticImage;
import com.squareup.picasso.Picasso;
/**
@@ -29,46 +30,43 @@ protected void onCreate(Bundle savedInstanceState) {
ImageView parisImageView = (ImageView) findViewById(R.id.parisImageView);
ImageView londonImageView = (ImageView) findViewById(R.id.londonImageView);
- MapboxStaticImage veniceStaticImage = new MapboxStaticImage.Builder()
- .setAccessToken(getString(R.string.access_token))
- .setStyleId(Constants.MAPBOX_STYLE_LIGHT)
- .setLat(45.4338) // Image center Latitude
- .setLon(12.3378) // Image center longitude
- .setZoom(13)
- .setWidth(320) // Image width
- .setHeight(320) // Image height
- .setRetina(true) // Retina 2x image will be returned
+ MapboxStaticMap veniceStaticImage = MapboxStaticMap.builder()
+ .accessToken(getString(R.string.access_token))
+ .styleId(Constants.MAPBOX_STYLE_LIGHT)
+ .cameraPoint(Point.fromLngLat(12.3378, 45.4338))
+ .cameraZoom(13)
+ .width(320) // Image width
+ .height(320) // Image height
+ .retina(true) // Retina 2x image will be returned
.build();
- Picasso.with(this).load(veniceStaticImage.getUrl().toString()).into(veniceImageView);
+ Picasso.with(this).load(veniceStaticImage.url().toString()).into(veniceImageView);
- MapboxStaticImage parisStaticImage = new MapboxStaticImage.Builder()
- .setAccessToken(getString(R.string.access_token))
- .setStyleId(Constants.MAPBOX_STYLE_OUTDOORS)
- .setLat(48.85826)
- .setLon(2.29450)
- .setZoom(16)
- .setPitch(20)
- .setBearing(60)
- .setWidth(320)
- .setHeight(320)
- .setRetina(true)
+ MapboxStaticMap parisStaticImage = MapboxStaticMap.builder()
+ .accessToken(getString(R.string.access_token))
+ .styleId(Constants.MAPBOX_STYLE_OUTDOORS)
+ .cameraPoint(Point.fromLngLat(2.29450, 48.85826))
+ .cameraZoom(16)
+ .cameraPitch(20)
+ .cameraBearing(60)
+ .width(320)
+ .height(320)
+ .retina(true)
.build();
- Picasso.with(this).load(parisStaticImage.getUrl().toString()).into(parisImageView);
+ Picasso.with(this).load(parisStaticImage.url().toString()).into(parisImageView);
- MapboxStaticImage londonStaticImage = new MapboxStaticImage.Builder()
- .setAccessToken(getString(R.string.access_token))
- .setStyleId(Constants.MAPBOX_STYLE_STREETS)
- .setLat(51.5062)
- .setLon(-0.0756)
- .setZoom(14)
- .setWidth(320)
- .setHeight(320)
- .setRetina(true)
+ MapboxStaticMap londonStaticImage = MapboxStaticMap.builder()
+ .accessToken(getString(R.string.access_token))
+ .styleId(Constants.MAPBOX_STYLE_STREETS)
+ .cameraPoint(Point.fromLngLat(-0.0756, 51.5062))
+ .cameraZoom(14)
+ .width(320)
+ .height(320)
+ .retina(true)
.build();
- Picasso.with(this).load(londonStaticImage.getUrl().toString()).into(londonImageView);
+ Picasso.with(this).load(londonStaticImage.url().toString()).into(londonImageView);
banner = (CardView) findViewById(R.id.banner);
banner.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/LocationPluginActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/LocationPluginActivity.java
index bdc96cf5f..4539a0167 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/LocationPluginActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/LocationPluginActivity.java
@@ -15,10 +15,10 @@
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerMode;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerPlugin;
-import com.mapbox.services.android.location.LostLocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
import com.mapbox.services.android.telemetry.location.LocationEnginePriority;
+import com.mapbox.services.android.telemetry.location.LocationEngineProvider;
import com.mapbox.services.android.telemetry.permissions.PermissionsListener;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;
@@ -61,7 +61,7 @@ public void onMapReady(MapboxMap mapboxMap) {
private void enableLocationPlugin() {
// Check if permissions are enabled and if not request
if (PermissionsManager.areLocationPermissionsGranted(this)) {
- // Create an instance of LOST location engine
+ // Create a location engine instance
initializeLocationEngine();
locationPlugin = new LocationLayerPlugin(mapView, mapboxMap, locationEngine);
@@ -74,7 +74,7 @@ private void enableLocationPlugin() {
@SuppressWarnings( {"MissingPermission"})
private void initializeLocationEngine() {
- locationEngine = new LostLocationEngine(LocationPluginActivity.this);
+ locationEngine = new LocationEngineProvider(this).obtainBestLocationEngineAvailable();
locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY);
locationEngine.activate();
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/PlacesPluginActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/PlacesPluginActivity.java
index b062d3da0..0d54eabad 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/PlacesPluginActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/plugins/PlacesPluginActivity.java
@@ -29,6 +29,11 @@
import com.mapbox.services.commons.geojson.Feature;
import com.mapbox.services.commons.geojson.FeatureCollection;
+/**
+ * Use the places plugin to take advantage of Mapbox's location search ("geocoding") capabilities. The plugin
+ * automatically makes geocoding requests, has built-in saved locations, includes location picker functionality,
+ * and adds beautiful UI into your Android project.
+ */
public class PlacesPluginActivity extends AppCompatActivity implements OnMapReadyCallback {
private static final int REQUEST_CODE_AUTOCOMPLETE = 1;
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/IndoorMapActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/IndoorMapActivity.java
index b0dd85d47..4cca7a992 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/IndoorMapActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/IndoorMapActivity.java
@@ -8,9 +8,10 @@
import android.view.animation.AlphaAnimation;
import android.widget.Button;
+import com.mapbox.geojson.Point;
+import com.mapbox.geojson.Polygon;
import com.mapbox.mapboxandroiddemo.R;
import com.mapbox.mapboxsdk.Mapbox;
-import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
@@ -20,9 +21,7 @@
import com.mapbox.mapboxsdk.style.layers.FillLayer;
import com.mapbox.mapboxsdk.style.layers.LineLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
-import com.mapbox.services.api.utils.turf.TurfException;
-import com.mapbox.services.api.utils.turf.TurfJoins;
-import com.mapbox.services.commons.models.Position;
+import com.mapbox.turf.TurfJoins;
import java.io.IOException;
import java.io.InputStream;
@@ -41,7 +40,8 @@
public class IndoorMapActivity extends AppCompatActivity {
private GeoJsonSource indoorBuildingSource;
- private List boundingBox;
+ private List boundingBox;
+ private List> boundingBoxList;
private View levelButtons;
private MapView mapView;
private MapboxMap map;
@@ -67,38 +67,34 @@ public void onMapReady(final MapboxMap mapboxMap) {
levelButtons = findViewById(R.id.floor_level_buttons);
boundingBox = new ArrayList<>();
- boundingBox.add(Position.fromCoordinates(-77.03791, 38.89715));
- boundingBox.add(Position.fromCoordinates(-77.03791, 38.89811));
- boundingBox.add(Position.fromCoordinates(-77.03532, 38.89811));
- boundingBox.add(Position.fromCoordinates(-77.03532, 38.89708));
- mapboxMap.setOnCameraChangeListener(new MapboxMap.OnCameraChangeListener() {
+ boundingBox.add(Point.fromLngLat(-77.03791, 38.89715));
+ boundingBox.add(Point.fromLngLat(-77.03791, 38.89811));
+ boundingBox.add(Point.fromLngLat(-77.03532, 38.89811));
+ boundingBox.add(Point.fromLngLat(-77.03532, 38.89708));
+
+ boundingBoxList = new ArrayList<>();
+ boundingBoxList.add(boundingBox);
+
+ mapboxMap.addOnCameraMoveListener(new MapboxMap.OnCameraMoveListener() {
@Override
- public void onCameraChange(CameraPosition position) {
-
- if (position.zoom > 16) {
- try {
- if (TurfJoins.inside(Position.fromCoordinates(
- position.target.getLongitude(),
- position.target.getLatitude()),
- boundingBox)) {
- if (levelButtons.getVisibility() != View.VISIBLE) {
- showLevelButton();
- }
- } else {
- if (levelButtons.getVisibility() == View.VISIBLE) {
- hideLevelButton();
- }
+ public void onCameraMove() {
+ if (mapboxMap.getCameraPosition().zoom > 16) {
+ if (TurfJoins.inside(Point.fromLngLat(mapboxMap.getCameraPosition().target.getLongitude(),
+ mapboxMap.getCameraPosition().target.getLatitude()), Polygon.fromLngLats(boundingBoxList))) {
+ if (levelButtons.getVisibility() != View.VISIBLE) {
+ showLevelButton();
+ }
+ } else {
+ if (levelButtons.getVisibility() == View.VISIBLE) {
+ hideLevelButton();
}
- } catch (TurfException turfException) {
- turfException.printStackTrace();
}
} else if (levelButtons.getVisibility() == View.VISIBLE) {
hideLevelButton();
}
}
});
-
indoorBuildingSource = new GeoJsonSource("indoor-building", loadJsonFromAsset("white_house_lvl_0.geojson"));
mapboxMap.addSource(indoorBuildingSource);
@@ -106,8 +102,7 @@ public void onCameraChange(CameraPosition position) {
loadBuildingLayer();
}
});
-
- Button buttonSecondLevel = (Button) findViewById(R.id.second_level_button);
+ Button buttonSecondLevel = findViewById(R.id.second_level_button);
buttonSecondLevel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -115,7 +110,7 @@ public void onClick(View view) {
}
});
- Button buttonGroundLevel = (Button) findViewById(R.id.ground_level_button);
+ Button buttonGroundLevel = findViewById(R.id.ground_level_button);
buttonGroundLevel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -189,27 +184,27 @@ private void loadBuildingLayer() {
// line layer is added.
FillLayer indoorBuildingLayer = new FillLayer("indoor-building-fill", "indoor-building").withProperties(
- fillColor(Color.parseColor("#eeeeee")),
- // Function.zoom is used here to fade out the indoor layer if zoom level is beyond 16. Only
- // necessary to show the indoor map at high zoom levels.
- fillOpacity(Function.zoom(Stops.exponential(
- Stop.stop(17f, fillOpacity(1f)),
- Stop.stop(16.5f, fillOpacity(0.5f)),
- Stop.stop(16f, fillOpacity(0f))
- )))
+ fillColor(Color.parseColor("#eeeeee")),
+ // Function.zoom is used here to fade out the indoor layer if zoom level is beyond 16. Only
+ // necessary to show the indoor map at high zoom levels.
+ fillOpacity(Function.zoom(Stops.exponential(
+ Stop.stop(17f, fillOpacity(1f)),
+ Stop.stop(16.5f, fillOpacity(0.5f)),
+ Stop.stop(16f, fillOpacity(0f))
+ )))
);
map.addLayer(indoorBuildingLayer);
LineLayer indoorBuildingLineLayer = new LineLayer("indoor-building-line", "indoor-building").withProperties(
- lineColor(Color.parseColor("#50667f")),
- lineWidth(0.5f),
- lineOpacity(Function.zoom(Stops.exponential(
- Stop.stop(17f, lineOpacity(1f)),
- Stop.stop(16.5f, lineOpacity(0.5f)),
- Stop.stop(16f, lineOpacity(0f))
- )))
+ lineColor(Color.parseColor("#50667f")),
+ lineWidth(0.5f),
+ lineOpacity(Function.zoom(Stops.exponential(
+ Stop.stop(17f, lineOpacity(1f)),
+ Stop.stop(16.5f, lineOpacity(0.5f)),
+ Stop.stop(16f, lineOpacity(0f))
+ )))
);
map.addLayer(indoorBuildingLineLayer);
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/LocationPickerActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/LocationPickerActivity.java
index be4fdead3..454a79710 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/LocationPickerActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/LocationPickerActivity.java
@@ -15,6 +15,12 @@
import android.widget.ImageView;
import android.widget.Toast;
+import com.mapbox.api.geocoding.v5.GeocodingCriteria;
+import com.mapbox.api.geocoding.v5.MapboxGeocoding;
+import com.mapbox.api.geocoding.v5.models.CarmenFeature;
+import com.mapbox.api.geocoding.v5.models.GeocodingResponse;
+import com.mapbox.core.exceptions.ServicesException;
+import com.mapbox.geojson.Point;
import com.mapbox.mapboxandroiddemo.R;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.Icon;
@@ -23,24 +29,17 @@
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
-import com.mapbox.mapboxsdk.location.LocationSource;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerMode;
import com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerPlugin;
-import com.mapbox.services.android.location.LostLocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;
import com.mapbox.services.android.telemetry.location.LocationEnginePriority;
+import com.mapbox.services.android.telemetry.location.LocationEngineProvider;
import com.mapbox.services.android.telemetry.permissions.PermissionsListener;
import com.mapbox.services.android.telemetry.permissions.PermissionsManager;
-import com.mapbox.services.api.ServicesException;
-import com.mapbox.services.api.geocoding.v5.GeocodingCriteria;
-import com.mapbox.services.api.geocoding.v5.MapboxGeocoding;
-import com.mapbox.services.api.geocoding.v5.models.CarmenFeature;
-import com.mapbox.services.api.geocoding.v5.models.GeocodingResponse;
-import com.mapbox.services.commons.models.Position;
import java.util.List;
@@ -77,7 +76,7 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_lab_location_picker);
// Get the location engine object for later use.
- locationEngine = new LocationSource(this);
+ locationEngine = new LocationEngineProvider(this).obtainBestLocationEngineAvailable();
locationEngine.activate();
// Initialize the mapboxMap view
@@ -123,7 +122,9 @@ public void onClick(View view) {
float coordinateX = hoveringMarker.getLeft() + (hoveringMarker.getWidth() / 2);
float coordinateY = hoveringMarker.getBottom();
float[] coords = new float[] {coordinateX, coordinateY};
- final LatLng latLng = mapboxMap.getProjection().fromScreenLocation(new PointF(coords[0], coords[1]));
+ final Point latLng = Point.fromLngLat(mapboxMap.getProjection().fromScreenLocation(
+ new PointF(coords[0], coords[1])).getLongitude(), mapboxMap.getProjection().fromScreenLocation(
+ new PointF(coords[0], coords[1])).getLatitude());
hoveringMarker.setVisibility(View.GONE);
// Transform the appearance of the button to become the cancel button
@@ -136,7 +137,9 @@ public void onClick(View view) {
// Placing the marker on the mapboxMap as soon as possible causes the illusion
// that the hovering marker and dropped marker are the same.
- droppedMarker = mapboxMap.addMarker(new MarkerOptions().position(latLng).icon(icon));
+
+ droppedMarker = mapboxMap.addMarker(new MarkerOptions()
+ .position(new LatLng(latLng.latitude(), latLng.longitude())));
// Finally we get the geocoding information
reverseGeocode(latLng);
@@ -166,6 +169,7 @@ public void onResume() {
}
@Override
+ @SuppressWarnings( {"MissingPermission"})
protected void onStart() {
super.onStart();
if (locationPlugin != null) {
@@ -247,27 +251,28 @@ public void onPermissionResult(boolean granted) {
}
}
- private void reverseGeocode(final LatLng point) {
+ private void reverseGeocode(final Point point) {
// This method is used to reverse geocode where the user has dropped the marker.
try {
- MapboxGeocoding client = new MapboxGeocoding.Builder()
- .setAccessToken(getString(R.string.access_token))
- .setCoordinates(Position.fromCoordinates(point.getLongitude(), point.getLatitude()))
- .setGeocodingType(GeocodingCriteria.TYPE_ADDRESS)
+
+ MapboxGeocoding client = MapboxGeocoding.builder()
+ .accessToken(getString(R.string.access_token))
+ .query(Point.fromLngLat(point.longitude(), point.latitude()))
+ .geocodingTypes(GeocodingCriteria.TYPE_ADDRESS)
.build();
client.enqueueCall(new Callback() {
@Override
public void onResponse(Call call, Response response) {
- List results = response.body().getFeatures();
+ List results = response.body().features();
if (results.size() > 0) {
CarmenFeature feature = results.get(0);
// If the geocoder returns a result, we take the first in the list and update
// the dropped marker snippet with the information. Lastly we open the info
// window.
if (droppedMarker != null) {
- droppedMarker.setSnippet(feature.getPlaceName());
+ droppedMarker.setSnippet(feature.placeName());
mapboxMap.selectMarker(droppedMarker);
}
@@ -307,7 +312,7 @@ private void enableLocationPlugin() {
@SuppressWarnings( {"MissingPermission"})
private void initializeLocationEngine() {
- locationEngine = new LostLocationEngine(LocationPickerActivity.this);
+ locationEngine = new LocationEngineProvider(this).obtainBestLocationEngineAvailable();
locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY);
locationEngine.activate();
diff --git a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/SpaceStationLocationActivity.java b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/SpaceStationLocationActivity.java
index fd38fb54c..4a68d2646 100644
--- a/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/SpaceStationLocationActivity.java
+++ b/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/labs/SpaceStationLocationActivity.java
@@ -22,8 +22,8 @@
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
-import com.mapbox.services.api.utils.turf.TurfMeasurement;
-import com.mapbox.services.commons.models.Position;
+import com.mapbox.geojson.Point;
+import com.mapbox.turf.TurfMeasurement;
import retrofit2.Call;
import retrofit2.Callback;
@@ -231,9 +231,8 @@ public LatLng evaluate(float fraction, LatLng startValue, LatLng endValue) {
public static double computeHeading(LatLng from, LatLng to) {
// Compute bearing/heading using Turf and return the value.
return TurfMeasurement.bearing(
- Position.fromCoordinates(from.getLongitude(), from.getLatitude()),
- Position.fromCoordinates(to.getLongitude(), to.getLatitude())
- );
+ Point.fromLngLat(from.getLongitude(), from.getLatitude()),
+ Point.fromLngLat(to.getLongitude(), to.getLatitude()));
}
// Interface used for Retrofit.
diff --git a/MapboxAndroidDemo/src/main/res/layout/activity_places_plugin.xml b/MapboxAndroidDemo/src/main/res/layout/activity_places_plugin.xml
index 94a9f2601..4b67b176f 100644
--- a/MapboxAndroidDemo/src/main/res/layout/activity_places_plugin.xml
+++ b/MapboxAndroidDemo/src/main/res/layout/activity_places_plugin.xml
@@ -11,7 +11,7 @@
android:layout_height="match_parent"
mapbox:mapbox_cameraTargetLng="-43.334931"
mapbox:mapbox_cameraZoom="0.346515"
- mapbox:mapbox_styleUrl="mapbox://styles/mapbox/cj44mfrt20f082snokim4ungi" />
+ mapbox:mapbox_styleUrl="@string/mapbox_style_mapbox_streets" />