diff options
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 |
commit | a3d0ff777b015bac7c1b16a1dd0a030b915782b0 (patch) | |
tree | 53fd0f9f80d148b71d5d143eae84b968a73fa5aa /platform/android/MapboxGLAndroidSDK/src/main/java/com | |
parent | 5a1735859cebefeb5e6e6920bc98d04a691a69e4 (diff) | |
download | qtlocation-mapboxgl-a3d0ff777b015bac7c1b16a1dd0a030b915782b0.tar.gz |
[android] improved CustomGeometrySource constructor typing
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com')
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; + } } |