summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java45
1 files changed, 8 insertions, 37 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 eec0d566bb..05187cf333 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
@@ -28,7 +28,7 @@ public class LatLngBounds implements Parcelable {
/**
* Construct a new LatLngBounds based on its corners, given in NESW
* order.
- * <p>
+ *
* If eastern longitude is smaller than the western one, bounds will include antimeridian.
* For example, if the NE point is (10, -170) and the SW point is (-10, 170), then bounds will span over 20 degrees
* and cross the antimeridian.
@@ -46,11 +46,6 @@ public class LatLngBounds implements Parcelable {
this.longitudeWest = westLongitude;
}
- LatLngBounds(LatLngBounds latLngBounds) {
- this(latLngBounds.latitudeNorth, latLngBounds.longitudeEast,
- latLngBounds.latitudeSouth, latLngBounds.longitudeWest);
- }
-
/**
* Returns the world bounds.
*
@@ -80,6 +75,7 @@ public class LatLngBounds implements Parcelable {
if (longCenter >= GeometryConstants.MAX_LONGITUDE) {
longCenter = this.longitudeEast - halfSpan;
}
+ return new LatLng(latCenter, longCenter);
}
return new LatLng(latCenter, longCenter);
@@ -192,6 +188,7 @@ public class LatLngBounds implements Parcelable {
return GeometryConstants.LONGITUDE_SPAN - longSpan;
}
+
static double getLongitudeSpan(final double longEast, final double longWest) {
double longSpan = Math.abs(longEast - longWest);
if (longEast >= longWest) {
@@ -203,25 +200,6 @@ public class LatLngBounds implements Parcelable {
}
/**
- * If bounds cross the antimeridian, unwrap west longitude for the shortest path.
- *
- * @return unwrapped bounds
- */
- public LatLngBounds unwrapBounds() {
- double unwrapedLonWest = longitudeWest;
- if (longitudeEast < longitudeWest) {
- if (longitudeWest > 0 && longitudeEast < 0) {
- unwrapedLonWest -= GeometryConstants.LONGITUDE_SPAN;
- } else if (longitudeWest < 0 && longitudeEast > 0) {
- unwrapedLonWest += GeometryConstants.LONGITUDE_SPAN;
- }
- return unwrapped(latitudeNorth, longitudeEast, latitudeSouth, unwrapedLonWest);
- } else {
- return new LatLngBounds(this);
- }
- }
-
- /**
* Validate if LatLngBounds is empty, determined if absolute distance is
*
* @return boolean indicating if span is empty
@@ -301,11 +279,12 @@ public class LatLngBounds implements Parcelable {
/**
* Constructs a LatLngBounds from doubles representing a LatLng pair.
- * <p>
+ *
* This values of latNorth and latSouth should be in the range of [-90, 90],
* see {@link GeometryConstants#MIN_LATITUDE} and {@link GeometryConstants#MAX_LATITUDE},
* otherwise IllegalArgumentException will be thrown.
* latNorth should be greater or equal latSouth, otherwise IllegalArgumentException will be thrown.
+ *
* <p>
* This method doesn't recalculate most east or most west boundaries.
* Note that lonEast and lonWest will be wrapped to be in the range of [-180, 180],
@@ -339,20 +318,12 @@ public class LatLngBounds implements Parcelable {
throw new IllegalArgumentException("LatSouth cannot be less than latNorth");
}
- return wrapped(latNorth, lonEast, latSouth, lonWest);
- }
-
- static LatLngBounds wrapped(double latNorth, double lonEast, double latSouth, double lonWest) {
lonEast = LatLng.wrap(lonEast, GeometryConstants.MIN_LONGITUDE, GeometryConstants.MAX_LONGITUDE);
lonWest = LatLng.wrap(lonWest, GeometryConstants.MIN_LONGITUDE, GeometryConstants.MAX_LONGITUDE);
return new LatLngBounds(latNorth, lonEast, latSouth, lonWest);
}
- static LatLngBounds unwrapped(double latNorth, double lonEast, double latSouth, double lonWest) {
- return new LatLngBounds(latNorth, lonEast, latSouth, lonWest);
- }
-
private static double lat_(int z, int y) {
double n = Math.PI - 2.0 * Math.PI * y / Math.pow(2.0, z);
return Math.toDegrees(Math.atan(0.5 * (Math.exp(n) - Math.exp(-n))));
@@ -364,14 +335,14 @@ public class LatLngBounds implements Parcelable {
/**
* Constructs a LatLngBounds from a Tile identifier.
- * <p>
+ *
* Returned bounds will have latitude in the range of Mercator projection.
+ * @see GeometryConstants#MIN_MERCATOR_LATITUDE
+ * @see GeometryConstants#MAX_MERCATOR_LATITUDE
*
* @param z Tile zoom level.
* @param x Tile X coordinate.
* @param y Tile Y coordinate.
- * @see GeometryConstants#MIN_MERCATOR_LATITUDE
- * @see GeometryConstants#MAX_MERCATOR_LATITUDE
*/
public static LatLngBounds from(int z, int x, int y) {
return new LatLngBounds(lat_(z, y), lon_(z, x + 1), lat_(z, y + 1), lon_(z, x));