diff options
author | Cameron <cameron@mapbox.com> | 2016-07-11 10:48:47 -0400 |
---|---|---|
committer | Tobrun Van Nuland <tobrun.van.nuland@gmail.com> | 2016-07-14 12:13:44 +0200 |
commit | 765e8d2be18411cc13438cb4c723b6a6658b8c10 (patch) | |
tree | c828700bf74fae36213efb787a6136cdf5f979f8 | |
parent | fd5ee4050670672e75acaaec5ce97877d89ee1e6 (diff) | |
download | qtlocation-mapboxgl-765e8d2be18411cc13438cb4c723b6a6658b8c10.tar.gz |
[android] latlngbounds includes added in builder
Fixes #5574
added includes test
3 files changed, 36 insertions, 2 deletions
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 5251ab4d6d..2fd28202af 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<LatLng> 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 bc7ef3c596..3ab8f7e763 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<LatLng> 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 b667940a6f..b2cc1e9046 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; @@ -106,6 +109,24 @@ public class LatLngBoundsTest { } @Test + public void testIncludes() { + List<LatLng> 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))); } |