From e028f1f0cc9389ee44633fd2d5e6ebb51139d385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=83=C2=A2=C3=82=C2=80=C3=82=C2=9Cosana=C3=83=C2=A2?= =?UTF-8?q?=C3=82=C2=80=C3=82=C2=9D?= Date: Mon, 26 Feb 2018 02:42:03 +0100 Subject: [android] union should take date line into consideration --- .../java/com/mapbox/mapboxsdk/geometry/LatLngSpan.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngSpan.java') diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngSpan.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngSpan.java index 322c7dfb74..133949f743 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngSpan.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngSpan.java @@ -4,6 +4,8 @@ import android.os.Parcel; import android.os.Parcelable; import android.support.annotation.NonNull; +import com.mapbox.mapboxsdk.constants.GeometryConstants; + /** * A geographical span defined by its latitude and longitude span. */ @@ -136,4 +138,20 @@ public class LatLngSpan implements Parcelable { result = 31 * result + (int) (temp ^ (temp >>> 32)); return result; } + + /** + * Get the absolute distance, in degrees, between the west and + * east boundaries of this LatLngBounds + * + * @return Span distance + */ + static double getLongitudeSpan(double east, double west) { + double longSpan = Math.abs(east - west); + if (east > west) { + return longSpan; + } + + // shortest span contains antimeridian + return GeometryConstants.LONGITUDE_SPAN - longSpan; + } } -- cgit v1.2.1