diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java index 5251ab4d6..2fd28202a 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java @@ -290,6 +290,13 @@ public class LatLngBounds implements Parcelable { return LatLngBounds.fromLatLngs(mLatLngList); } + public Builder includes(List latLngs){ + for (LatLng point : latLngs) { + mLatLngList.add(point); + } + return this; + } + public Builder include(@NonNull LatLng latLng) { mLatLngList.add(latLng); return this; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java index bc7ef3c59..3ab8f7e76 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java @@ -20,6 +20,9 @@ import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; import com.mapbox.mapboxsdk.maps.UiSettings; import com.mapbox.mapboxsdk.testapp.R; +import java.util.ArrayList; +import java.util.List; + public class LatLngBoundsActivity extends AppCompatActivity { private static final LatLng LOS_ANGELES = new LatLng(34.053940, -118.242622); @@ -61,10 +64,13 @@ public class LatLngBoundsActivity extends AppCompatActivity { .snippet("City Hall") .position(NEW_YORK)); + List points = new ArrayList<>(); + points.add(NEW_YORK); + points.add(LOS_ANGELES); + // Create Bounds final LatLngBounds bounds = new LatLngBounds.Builder() - .include(NEW_YORK) - .include(LOS_ANGELES) + .includes(points) .build(); // Add map padding diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java index b667940a6..b2cc1e904 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java @@ -8,6 +8,9 @@ import com.mapbox.mapboxsdk.utils.MockParcel; import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; +import java.util.List; + import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -105,6 +108,24 @@ public class LatLngBoundsTest { assertTrue("LatLng should be included", mLatLngBounds.contains(new LatLng(1, 1))); } + @Test + public void testIncludes() { + List points = new ArrayList<>(); + points.add(LAT_LNG_NULL_ISLAND); + points.add(LAT_LNG_NOT_NULL_ISLAND); + + LatLngBounds latLngBounds1 = new LatLngBounds.Builder() + .includes(points) + .build(); + + LatLngBounds latLngBounds2 = new LatLngBounds.Builder() + .include(LAT_LNG_NULL_ISLAND) + .include(LAT_LNG_NOT_NULL_ISLAND) + .build(); + + assertEquals("LatLngBounds should match", latLngBounds1, latLngBounds2); + } + @Test public void testNoIncluding() { assertFalse("LatLng should not be included", mLatLngBounds.contains(new LatLng(3, 1)));