summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2018-10-25 16:57:48 +0200
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2018-11-02 13:48:53 +0100
commita3d0ff777b015bac7c1b16a1dd0a030b915782b0 (patch)
tree53fd0f9f80d148b71d5d143eae84b968a73fa5aa
parent5a1735859cebefeb5e6e6920bc98d04a691a69e4 (diff)
downloadqtlocation-mapboxgl-a3d0ff777b015bac7c1b16a1dd0a030b915782b0.tar.gz
[android] improved CustomGeometrySource constructor typing
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java6
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySourceOptions.java48
2 files changed, 50 insertions, 4 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java
index 667e7f487f..4129f2b2b4 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java
@@ -62,9 +62,9 @@ public class CustomGeometrySource extends Source {
}
/**
- * Create a CustomGeometrySource with non-default CustomGeometrySourceOptions.
- * <p>Supported options are minZoom, maxZoom, buffer, and tolerance.</p>
- * @param id The source id.
+ * Create a CustomGeometrySource with non-default {@link CustomGeometrySourceOptions}.
+ *
+ * @param id The source id.
* @param options CustomGeometrySourceOptions.
* @param provider The tile provider that returns geometry data for this source.
*/
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySourceOptions.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySourceOptions.java
index 4ada38c238..331d9b267f 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySourceOptions.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySourceOptions.java
@@ -1,9 +1,11 @@
package com.mapbox.mapboxsdk.style.sources;
+import java.util.HashMap;
+
/**
* Builder class for composing CustomGeometrySource objects.
*/
-public class CustomGeometrySourceOptions extends GeoJsonOptions {
+public class CustomGeometrySourceOptions extends HashMap<String, Object> {
/**
* If the data includes wrapped coordinates, setting this to true unwraps the coordinates.
@@ -28,4 +30,48 @@ public class CustomGeometrySourceOptions extends GeoJsonOptions {
return this;
}
+ /**
+ * Minimum zoom level at which to create vector tiles (lower means more field of view detail at low zoom levels).
+ *
+ * @param minZoom the minimum zoom - Defaults to 0.
+ * @return the current instance for chaining
+ */
+ public CustomGeometrySourceOptions withMinZoom(int minZoom) {
+ this.put("minzoom", minZoom);
+ return this;
+ }
+
+ /**
+ * Maximum zoom level at which to create vector tiles (higher means greater detail at high zoom levels).
+ *
+ * @param maxZoom the maximum zoom - Defaults to 25.5
+ * @return the current instance for chaining
+ */
+ public CustomGeometrySourceOptions withMaxZoom(int maxZoom) {
+ this.put("maxzoom", maxZoom);
+ return this;
+ }
+
+ /**
+ * Tile buffer size on each side (measured in 1/512ths of a tile; higher means fewer rendering artifacts near tile
+ * edges but slower performance).
+ *
+ * @param buffer the buffer size - Defaults to 128.
+ * @return the current instance for chaining
+ */
+ public CustomGeometrySourceOptions withBuffer(int buffer) {
+ this.put("buffer", buffer);
+ return this;
+ }
+
+ /**
+ * Douglas-Peucker simplification tolerance (higher means simpler geometries and faster performance).
+ *
+ * @param tolerance the tolerance - Defaults to 0.375
+ * @return the current instance for chaining
+ */
+ public CustomGeometrySourceOptions withTolerance(float tolerance) {
+ this.put("tolerance", tolerance);
+ return this;
+ }
}