summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java42
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java41
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java30
5 files changed, 64 insertions, 53 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
index 04105ebc59..d568b9637d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraUpdateFactory.java
@@ -258,7 +258,7 @@ public final class CameraUpdateFactory {
float scaleY = (uiSettings.getHeight() - padding.top - padding.bottom) / height;
minScale = scaleX < scaleY ? scaleX : scaleY;
zoom = calculateZoom(mapboxMap, minScale);
- zoom = MathUtils.clamp(zoom, mapboxMap.getMinZoom(), mapboxMap.getMaxZoom());
+ zoom = MathUtils.clamp(zoom, mapboxMap.getMinZoomLevel(), mapboxMap.getMaxZoomLevel());
}
// Calculate the center point
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
index ac4b637df3..9c5e8194dd 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
@@ -68,7 +68,7 @@ public class MapboxConstants {
/**
* The currently supported maximum zoom level.
*/
- public static final float MAXIMUM_ZOOM = 21.0f;
+ public static final float MAXIMUM_ZOOM = 20.0f;
/**
* The currently supported maximum tilt value.
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
index 924ea0d190..7459256869 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
@@ -70,9 +70,6 @@ public final class MapboxMap {
private MapboxMap.OnFpsChangedListener onFpsChangedListener;
- private double maxZoomLevel = -1;
- private double minZoomLevel = -1;
-
MapboxMap(NativeMapView map, Transform transform, UiSettings ui, TrackingSettings tracking, MyLocationViewSettings myLocationView,
Projection projection, OnRegisterTouchListener listener, AnnotationManager annotations) {
this.nativeMapView = map;
@@ -89,17 +86,13 @@ public final class MapboxMap {
transform.initialise(this, options);
uiSettings.initialise(context, options);
myLocationViewSettings.initialise(options);
+ setMyLocationEnabled(options.getLocationEnabled());
// api base url
setDebugActive(options.getDebugActive());
setApiBaseUrl(options);
setAccessToken(options);
setStyleUrl(options);
-
- // todo migrate with other PR
- setMyLocationEnabled(options.getLocationEnabled());
- setMaxZoom(options.getMaxZoom());
- setMinZoom(options.getMinZoom());
}
// Style
@@ -262,14 +255,9 @@ public final class MapboxMap {
* @param minZoom The new minimum zoom level.
*/
@UiThread
- public void setMinZoom(
+ public void setMinZoomPreference(
@FloatRange(from = MapboxConstants.MINIMUM_ZOOM, to = MapboxConstants.MAXIMUM_ZOOM) double minZoom) {
- if ((minZoom < MapboxConstants.MINIMUM_ZOOM) || (minZoom > MapboxConstants.MAXIMUM_ZOOM)) {
- Timber.e("Not setting minZoom, value is in unsupported range: " + minZoom);
- return;
- }
- minZoomLevel = minZoom;
- nativeMapView.setMinZoom(minZoom);
+ transform.setMinZoom(minZoom);
}
/**
@@ -280,11 +268,8 @@ public final class MapboxMap {
* @return The minimum zoom level.
*/
@UiThread
- public double getMinZoom() {
- if (minZoomLevel == -1) {
- return minZoomLevel = nativeMapView.getMinZoom();
- }
- return minZoomLevel;
+ public double getMinZoomLevel() {
+ return transform.getMinZoom();
}
//
@@ -299,14 +284,8 @@ public final class MapboxMap {
* @param maxZoom The new maximum zoom level.
*/
@UiThread
- public void setMaxZoom(
- @FloatRange(from = MapboxConstants.MINIMUM_ZOOM, to = MapboxConstants.MAXIMUM_ZOOM) double maxZoom) {
- if ((maxZoom < MapboxConstants.MINIMUM_ZOOM) || (maxZoom > MapboxConstants.MAXIMUM_ZOOM)) {
- Timber.e("Not setting maxZoom, value is in unsupported range: " + maxZoom);
- return;
- }
- maxZoomLevel = maxZoom;
- nativeMapView.setMaxZoom(maxZoom);
+ public void setMaxZoomPreference(@FloatRange(from = MapboxConstants.MINIMUM_ZOOM, to = MapboxConstants.MAXIMUM_ZOOM) double maxZoom) {
+ transform.setMaxZoom(maxZoom);
}
/**
@@ -317,11 +296,8 @@ public final class MapboxMap {
* @return The maximum zoom level.
*/
@UiThread
- public double getMaxZoom() {
- if (maxZoomLevel == -1) {
- return maxZoomLevel = nativeMapView.getMaxZoom();
- }
- return maxZoomLevel;
+ public double getMaxZoomLevel() {
+ return transform.getMaxZoom();
}
//
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java
index 4892c18ab5..2b0659322f 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMapOptions.java
@@ -58,8 +58,8 @@ public class MapboxMapOptions implements Parcelable {
private int attributionGravity = Gravity.BOTTOM;
private int[] attributionMargins;
- private float minZoom = MapboxConstants.MINIMUM_ZOOM;
- private float maxZoom = MapboxConstants.MAXIMUM_ZOOM;
+ private double minZoom = MapboxConstants.MINIMUM_ZOOM;
+ private double maxZoom = MapboxConstants.MAXIMUM_ZOOM;
private boolean rotateGesturesEnabled = true;
private boolean scrollGesturesEnabled = true;
@@ -110,8 +110,8 @@ public class MapboxMapOptions implements Parcelable {
attributionMargins = in.createIntArray();
attributionTintColor = in.readInt();
- minZoom = in.readFloat();
- maxZoom = in.readFloat();
+ minZoom = in.readDouble();
+ maxZoom = in.readDouble();
rotateGesturesEnabled = in.readByte() != 0;
scrollGesturesEnabled = in.readByte() != 0;
@@ -184,8 +184,8 @@ public class MapboxMapOptions implements Parcelable {
mapboxMapOptions.tiltGesturesEnabled(typedArray.getBoolean(R.styleable.mapbox_MapView_mapbox_uiTiltGestures, true));
mapboxMapOptions.zoomControlsEnabled(typedArray.getBoolean(R.styleable.mapbox_MapView_mapbox_uiZoomControls, false));
- mapboxMapOptions.maxZoom(typedArray.getFloat(R.styleable.mapbox_MapView_mapbox_cameraZoomMax, MapboxConstants.MAXIMUM_ZOOM));
- mapboxMapOptions.minZoom(typedArray.getFloat(R.styleable.mapbox_MapView_mapbox_cameraZoomMin, MapboxConstants.MINIMUM_ZOOM));
+ mapboxMapOptions.maxZoomPreference(typedArray.getFloat(R.styleable.mapbox_MapView_mapbox_cameraZoomMax, MapboxConstants.MAXIMUM_ZOOM));
+ mapboxMapOptions.minZoomPreference(typedArray.getFloat(R.styleable.mapbox_MapView_mapbox_cameraZoomMin, MapboxConstants.MINIMUM_ZOOM));
mapboxMapOptions.compassEnabled(typedArray.getBoolean(R.styleable.mapbox_MapView_mapbox_uiCompass, true));
mapboxMapOptions.compassGravity(typedArray.getInt(R.styleable.mapbox_MapView_mapbox_uiCompassGravity, Gravity.TOP | Gravity.END));
@@ -310,7 +310,7 @@ public class MapboxMapOptions implements Parcelable {
* @param minZoom Zoom level to be used
* @return This
*/
- public MapboxMapOptions minZoom(float minZoom) {
+ public MapboxMapOptions minZoomPreference(double minZoom) {
this.minZoom = minZoom;
return this;
}
@@ -321,7 +321,7 @@ public class MapboxMapOptions implements Parcelable {
* @param maxZoom Zoom level to be used
* @return This
*/
- public MapboxMapOptions maxZoom(float maxZoom) {
+ public MapboxMapOptions maxZoomPreference(double maxZoom) {
this.maxZoom = maxZoom;
return this;
}
@@ -654,7 +654,7 @@ public class MapboxMapOptions implements Parcelable {
*
* @return Mininum zoom level to be used.
*/
- public float getMinZoom() {
+ public double getMinZoomPreference() {
return minZoom;
}
@@ -663,7 +663,7 @@ public class MapboxMapOptions implements Parcelable {
*
* @return Maximum zoom to be used.
*/
- public float getMaxZoom() {
+ public double getMaxZoomPreference() {
return maxZoom;
}
@@ -969,8 +969,8 @@ public class MapboxMapOptions implements Parcelable {
dest.writeIntArray(attributionMargins);
dest.writeInt(attributionTintColor);
- dest.writeFloat(minZoom);
- dest.writeFloat(maxZoom);
+ dest.writeDouble(minZoom);
+ dest.writeDouble(maxZoom);
dest.writeByte((byte) (rotateGesturesEnabled ? 1 : 0));
dest.writeByte((byte) (scrollGesturesEnabled ? 1 : 0));
@@ -1011,8 +1011,8 @@ public class MapboxMapOptions implements Parcelable {
if (attributionTintColor != options.attributionTintColor) return false;
if (attributionEnabled != options.attributionEnabled) return false;
if (attributionGravity != options.attributionGravity) return false;
- if (Float.compare(options.minZoom, minZoom) != 0) return false;
- if (Float.compare(options.maxZoom, maxZoom) != 0) return false;
+ if (Double.compare(options.minZoom, minZoom) != 0) return false;
+ if (Double.compare(options.maxZoom, maxZoom) != 0) return false;
if (rotateGesturesEnabled != options.rotateGesturesEnabled) return false;
if (scrollGesturesEnabled != options.scrollGesturesEnabled) return false;
if (tiltGesturesEnabled != options.tiltGesturesEnabled) return false;
@@ -1045,7 +1045,9 @@ public class MapboxMapOptions implements Parcelable {
@Override
public int hashCode() {
- int result = cameraPosition != null ? cameraPosition.hashCode() : 0;
+ int result;
+ long temp;
+ result = cameraPosition != null ? cameraPosition.hashCode() : 0;
result = 31 * result + (debugActive ? 1 : 0);
result = 31 * result + (compassEnabled ? 1 : 0);
result = 31 * result + (fadeCompassFacingNorth ? 1 : 0);
@@ -1058,8 +1060,10 @@ public class MapboxMapOptions implements Parcelable {
result = 31 * result + (attributionEnabled ? 1 : 0);
result = 31 * result + attributionGravity;
result = 31 * result + Arrays.hashCode(attributionMargins);
- result = 31 * result + (minZoom != +0.0f ? Float.floatToIntBits(minZoom) : 0);
- result = 31 * result + (maxZoom != +0.0f ? Float.floatToIntBits(maxZoom) : 0);
+ temp = Double.doubleToLongBits(minZoom);
+ result = 31 * result + (int) (temp ^ (temp >>> 32));
+ temp = Double.doubleToLongBits(maxZoom);
+ result = 31 * result + (int) (temp ^ (temp >>> 32));
result = 31 * result + (rotateGesturesEnabled ? 1 : 0);
result = 31 * result + (scrollGesturesEnabled ? 1 : 0);
result = 31 * result + (tiltGesturesEnabled ? 1 : 0);
@@ -1074,9 +1078,10 @@ public class MapboxMapOptions implements Parcelable {
result = 31 * result + Arrays.hashCode(myLocationBackgroundPadding);
result = 31 * result + myLocationAccuracyTintColor;
result = 31 * result + myLocationAccuracyAlpha;
+ result = 31 * result + (apiBaseUrl != null ? apiBaseUrl.hashCode() : 0);
+ result = 31 * result + (textureMode ? 1 : 0);
result = 31 * result + (style != null ? style.hashCode() : 0);
result = 31 * result + (accessToken != null ? accessToken.hashCode() : 0);
- result = 31 * result + (apiBaseUrl != null ? apiBaseUrl.hashCode() : 0);
return result;
}
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
index 0a46930f6e..2babc59f1b 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
@@ -14,6 +14,8 @@ import com.mapbox.mapboxsdk.maps.widgets.MyLocationView;
import java.util.concurrent.TimeUnit;
+import timber.log.Timber;
+
import static com.mapbox.mapboxsdk.maps.MapView.REGION_DID_CHANGE_ANIMATED;
/**
@@ -262,4 +264,32 @@ final class Transform implements MapView.OnMapChangedListener {
void moveBy(double offsetX, double offsetY, long duration) {
mapView.moveBy(offsetX, offsetY, duration);
}
+
+ //
+ // Min & Max ZoomLevel
+ //
+
+ void setMinZoom(double minZoom) {
+ if ((minZoom < MapboxConstants.MINIMUM_ZOOM) || (minZoom > MapboxConstants.MAXIMUM_ZOOM)) {
+ Timber.e("Not setting minZoomPreference, value is in unsupported range: " + minZoom);
+ return;
+ }
+ mapView.setMinZoom(minZoom);
+ }
+
+ double getMinZoom() {
+ return mapView.getMinZoom();
+ }
+
+ void setMaxZoom(double maxZoom) {
+ if ((maxZoom < MapboxConstants.MINIMUM_ZOOM) || (maxZoom > MapboxConstants.MAXIMUM_ZOOM)) {
+ Timber.e("Not setting maxZoomPreference, value is in unsupported range: " + maxZoom);
+ return;
+ }
+ mapView.setMaxZoom(maxZoom);
+ }
+
+ double getMaxZoom() {
+ return mapView.getMaxZoom();
+ }
}