Merge branch 'master' into release-boba
# Conflicts: # platform/android/CHANGELOG.md # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/CompassView.java # platform/android/scripts/exclude-activity-gen.json # platform/ios/CHANGELOG.md # platform/ios/Mapbox-iOS-SDK-nightly-dynamic.podspec # platform/ios/Mapbox-iOS-SDK-symbols.podspec # platform/ios/Mapbox-iOS-SDK.podspec # platform/macos/CHANGELOG.md
This commit is contained in:
@@ -42,6 +42,8 @@ import com.mapbox.mapboxsdk.maps.widgets.MyLocationViewSettings;
|
||||
import com.mapbox.mapboxsdk.net.ConnectivityReceiver;
|
||||
import com.mapbox.mapboxsdk.storage.FileSource;
|
||||
|
||||
import javax.microedition.khronos.egl.EGLConfig;
|
||||
import javax.microedition.khronos.opengles.GL10;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.ref.WeakReference;
|
||||
@@ -50,9 +52,6 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import javax.microedition.khronos.egl.EGLConfig;
|
||||
import javax.microedition.khronos.opengles.GL10;
|
||||
|
||||
import timber.log.Timber;
|
||||
|
||||
import static com.mapbox.mapboxsdk.maps.widgets.CompassView.TIME_MAP_NORTH_ANIMATION;
|
||||
|
||||
@@ -7,10 +7,10 @@ import android.support.annotation.NonNull;
|
||||
import android.support.v4.view.ViewCompat;
|
||||
import android.support.v4.view.ViewPropertyAnimatorCompat;
|
||||
import android.support.v4.view.ViewPropertyAnimatorListenerAdapter;
|
||||
import android.support.v7.widget.AppCompatImageView;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
* </p>
|
||||
*/
|
||||
@SuppressLint("AppCompatCustomView")
|
||||
public final class CompassView extends ImageView implements Runnable {
|
||||
public final class CompassView extends AppCompatImageView implements Runnable {
|
||||
|
||||
public static final long TIME_WAIT_IDLE = 500;
|
||||
public static final long TIME_MAP_NORTH_ANIMATION = 150;
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
// This file is generated. Edit android/platform/scripts/generate-style-code.js, then run `make android-style-code`.
|
||||
|
||||
package com.mapbox.mapboxsdk.style.layers;
|
||||
|
||||
import android.support.annotation.ColorInt;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.UiThread;
|
||||
|
||||
import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
|
||||
/**
|
||||
* A heatmap.
|
||||
*
|
||||
* @see <a href="https://www.mapbox.com/mapbox-gl-style-spec/#layers-heatmap">The online documentation</a>
|
||||
*/
|
||||
@UiThread
|
||||
public class HeatmapLayer extends Layer {
|
||||
|
||||
/**
|
||||
* Creates a HeatmapLayer.
|
||||
*
|
||||
* @param nativePtr pointer used by core
|
||||
*/
|
||||
public HeatmapLayer(long nativePtr) {
|
||||
super(nativePtr);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a HeatmapLayer.
|
||||
*
|
||||
* @param layerId the id of the layer
|
||||
* @param sourceId the id of the source
|
||||
*/
|
||||
public HeatmapLayer(String layerId, String sourceId) {
|
||||
initialize(layerId, sourceId);
|
||||
}
|
||||
|
||||
protected native void initialize(String layerId, String sourceId);
|
||||
|
||||
/**
|
||||
* Set the source layer.
|
||||
*
|
||||
* @param sourceLayer the source layer to set
|
||||
*/
|
||||
public void setSourceLayer(String sourceLayer) {
|
||||
nativeSetSourceLayer(sourceLayer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the source Layer.
|
||||
*
|
||||
* @param sourceLayer the source layer to set
|
||||
* @return This
|
||||
*/
|
||||
public HeatmapLayer withSourceLayer(String sourceLayer) {
|
||||
setSourceLayer(sourceLayer);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the source layer.
|
||||
*
|
||||
* @return sourceLayer the source layer to get
|
||||
*/
|
||||
public String getSourceLayer() {
|
||||
return nativeGetSourceLayer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a single filter.
|
||||
*
|
||||
* @param filter the filter to set
|
||||
*/
|
||||
public void setFilter(Filter.Statement filter) {
|
||||
nativeSetFilter(filter.toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a single filter.
|
||||
*
|
||||
* @param filter the filter to set
|
||||
* @return This
|
||||
*/
|
||||
public HeatmapLayer withFilter(Filter.Statement filter) {
|
||||
setFilter(filter);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a property or properties.
|
||||
*
|
||||
* @param properties the var-args properties
|
||||
* @return This
|
||||
*/
|
||||
public HeatmapLayer withProperties(@NonNull PropertyValue<?>... properties) {
|
||||
setProperties(properties);
|
||||
return this;
|
||||
}
|
||||
|
||||
// Property getters
|
||||
|
||||
/**
|
||||
* Get the HeatmapRadius property
|
||||
*
|
||||
* @return property wrapper value around Float
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public PropertyValue<Float> getHeatmapRadius() {
|
||||
return (PropertyValue<Float>) new PropertyValue("heatmap-radius", nativeGetHeatmapRadius());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HeatmapRadius property transition options
|
||||
*
|
||||
* @return transition options for Float
|
||||
*/
|
||||
public TransitionOptions getHeatmapRadiusTransition() {
|
||||
return nativeGetHeatmapRadiusTransition();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the HeatmapRadius property transition options
|
||||
*
|
||||
* @param options transition options for Float
|
||||
*/
|
||||
public void setHeatmapRadiusTransition(TransitionOptions options) {
|
||||
nativeSetHeatmapRadiusTransition(options.getDuration(), options.getDelay());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HeatmapWeight property
|
||||
*
|
||||
* @return property wrapper value around Float
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public PropertyValue<Float> getHeatmapWeight() {
|
||||
return (PropertyValue<Float>) new PropertyValue("heatmap-weight", nativeGetHeatmapWeight());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HeatmapIntensity property
|
||||
*
|
||||
* @return property wrapper value around Float
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public PropertyValue<Float> getHeatmapIntensity() {
|
||||
return (PropertyValue<Float>) new PropertyValue("heatmap-intensity", nativeGetHeatmapIntensity());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HeatmapIntensity property transition options
|
||||
*
|
||||
* @return transition options for Float
|
||||
*/
|
||||
public TransitionOptions getHeatmapIntensityTransition() {
|
||||
return nativeGetHeatmapIntensityTransition();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the HeatmapIntensity property transition options
|
||||
*
|
||||
* @param options transition options for Float
|
||||
*/
|
||||
public void setHeatmapIntensityTransition(TransitionOptions options) {
|
||||
nativeSetHeatmapIntensityTransition(options.getDuration(), options.getDelay());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HeatmapOpacity property
|
||||
*
|
||||
* @return property wrapper value around Float
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public PropertyValue<Float> getHeatmapOpacity() {
|
||||
return (PropertyValue<Float>) new PropertyValue("heatmap-opacity", nativeGetHeatmapOpacity());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HeatmapOpacity property transition options
|
||||
*
|
||||
* @return transition options for Float
|
||||
*/
|
||||
public TransitionOptions getHeatmapOpacityTransition() {
|
||||
return nativeGetHeatmapOpacityTransition();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the HeatmapOpacity property transition options
|
||||
*
|
||||
* @param options transition options for Float
|
||||
*/
|
||||
public void setHeatmapOpacityTransition(TransitionOptions options) {
|
||||
nativeSetHeatmapOpacityTransition(options.getDuration(), options.getDelay());
|
||||
}
|
||||
|
||||
private native Object nativeGetHeatmapRadius();
|
||||
|
||||
private native TransitionOptions nativeGetHeatmapRadiusTransition();
|
||||
|
||||
private native void nativeSetHeatmapRadiusTransition(long duration, long delay);
|
||||
|
||||
private native Object nativeGetHeatmapWeight();
|
||||
|
||||
private native Object nativeGetHeatmapIntensity();
|
||||
|
||||
private native TransitionOptions nativeGetHeatmapIntensityTransition();
|
||||
|
||||
private native void nativeSetHeatmapIntensityTransition(long duration, long delay);
|
||||
|
||||
private native Object nativeGetHeatmapOpacity();
|
||||
|
||||
private native TransitionOptions nativeGetHeatmapOpacityTransition();
|
||||
|
||||
private native void nativeSetHeatmapOpacityTransition(long duration, long delay);
|
||||
|
||||
@Override
|
||||
protected native void finalize() throws Throwable;
|
||||
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import static com.mapbox.mapboxsdk.utils.ColorUtils.rgbaToColor;
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
|
||||
/**
|
||||
* Client-side hillshading visualization based on DEM data. Currently, the implementation only supports Mapbox Terrain RGB tiles
|
||||
* Client-side hillshading visualization based on DEM data. Currently, the implementation only supports Mapbox Terrain RGB and Mapzen Terrarium tiles.
|
||||
*
|
||||
* @see <a href="https://www.mapbox.com/mapbox-gl-style-spec/#layers-hillshade">The online documentation</a>
|
||||
*/
|
||||
|
||||
@@ -1515,6 +1515,138 @@ public class PropertyFactory {
|
||||
return new PaintPropertyValue<>("circle-stroke-opacity", function);
|
||||
}
|
||||
|
||||
/**
|
||||
* Radius of influence of one heatmap point in density-independent pixels. Increasing the value makes the heatmap smoother, but less detailed.
|
||||
*
|
||||
* @param value a Float value
|
||||
* @return property wrapper around Float
|
||||
*/
|
||||
public static PropertyValue<Float> heatmapRadius(Float value) {
|
||||
return new PaintPropertyValue<>("heatmap-radius", value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Radius of influence of one heatmap point in density-independent pixels. Increasing the value makes the heatmap smoother, but less detailed.
|
||||
*
|
||||
* @param expression an expression statement
|
||||
* @return property wrapper around an expression statement
|
||||
*/
|
||||
public static PropertyValue<Expression> heatmapRadius(Expression expression) {
|
||||
return new PaintPropertyValue<>("heatmap-radius", expression);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Radius of influence of one heatmap point in density-independent pixels. Increasing the value makes the heatmap smoother, but less detailed.
|
||||
*
|
||||
* @param <T> the function input type
|
||||
* @param function a wrapper function for Float
|
||||
* @return property wrapper around a Float function
|
||||
*/
|
||||
@Deprecated
|
||||
public static <T> PropertyValue<Function<T, Float>> heatmapRadius(Function<T, Float> function) {
|
||||
return new PaintPropertyValue<>("heatmap-radius", function);
|
||||
}
|
||||
|
||||
/**
|
||||
* A measure of how much an individual point contributes to the heatmap. A value of 10 would be equivalent to having 10 points of weight 1 in the same spot. Especially useful when combined with clustering.
|
||||
*
|
||||
* @param value a Float value
|
||||
* @return property wrapper around Float
|
||||
*/
|
||||
public static PropertyValue<Float> heatmapWeight(Float value) {
|
||||
return new PaintPropertyValue<>("heatmap-weight", value);
|
||||
}
|
||||
|
||||
/**
|
||||
* A measure of how much an individual point contributes to the heatmap. A value of 10 would be equivalent to having 10 points of weight 1 in the same spot. Especially useful when combined with clustering.
|
||||
*
|
||||
* @param expression an expression statement
|
||||
* @return property wrapper around an expression statement
|
||||
*/
|
||||
public static PropertyValue<Expression> heatmapWeight(Expression expression) {
|
||||
return new PaintPropertyValue<>("heatmap-weight", expression);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A measure of how much an individual point contributes to the heatmap. A value of 10 would be equivalent to having 10 points of weight 1 in the same spot. Especially useful when combined with clustering.
|
||||
*
|
||||
* @param <T> the function input type
|
||||
* @param function a wrapper function for Float
|
||||
* @return property wrapper around a Float function
|
||||
*/
|
||||
@Deprecated
|
||||
public static <T> PropertyValue<Function<T, Float>> heatmapWeight(Function<T, Float> function) {
|
||||
return new PaintPropertyValue<>("heatmap-weight", function);
|
||||
}
|
||||
|
||||
/**
|
||||
* Similar to {@link PropertyFactory#heatmapWeight} but controls the intensity of the heatmap globally. Primarily used for adjusting the heatmap based on zoom level.
|
||||
*
|
||||
* @param value a Float value
|
||||
* @return property wrapper around Float
|
||||
*/
|
||||
public static PropertyValue<Float> heatmapIntensity(Float value) {
|
||||
return new PaintPropertyValue<>("heatmap-intensity", value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Similar to {@link PropertyFactory#heatmapWeight} but controls the intensity of the heatmap globally. Primarily used for adjusting the heatmap based on zoom level.
|
||||
*
|
||||
* @param expression an expression statement
|
||||
* @return property wrapper around an expression statement
|
||||
*/
|
||||
public static PropertyValue<Expression> heatmapIntensity(Expression expression) {
|
||||
return new PaintPropertyValue<>("heatmap-intensity", expression);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Similar to {@link PropertyFactory#heatmapWeight} but controls the intensity of the heatmap globally. Primarily used for adjusting the heatmap based on zoom level.
|
||||
*
|
||||
* @param <Z> the zoom parameter type
|
||||
* @param function a wrapper {@link CameraFunction} for Float
|
||||
* @return property wrapper around a Float function
|
||||
*/
|
||||
@Deprecated
|
||||
public static <Z extends Number> PropertyValue<CameraFunction<Z, Float>> heatmapIntensity(CameraFunction<Z, Float> function) {
|
||||
return new PaintPropertyValue<>("heatmap-intensity", function);
|
||||
}
|
||||
|
||||
/**
|
||||
* The global opacity at which the heatmap layer will be drawn.
|
||||
*
|
||||
* @param value a Float value
|
||||
* @return property wrapper around Float
|
||||
*/
|
||||
public static PropertyValue<Float> heatmapOpacity(Float value) {
|
||||
return new PaintPropertyValue<>("heatmap-opacity", value);
|
||||
}
|
||||
|
||||
/**
|
||||
* The global opacity at which the heatmap layer will be drawn.
|
||||
*
|
||||
* @param expression an expression statement
|
||||
* @return property wrapper around an expression statement
|
||||
*/
|
||||
public static PropertyValue<Expression> heatmapOpacity(Expression expression) {
|
||||
return new PaintPropertyValue<>("heatmap-opacity", expression);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* The global opacity at which the heatmap layer will be drawn.
|
||||
*
|
||||
* @param <Z> the zoom parameter type
|
||||
* @param function a wrapper {@link CameraFunction} for Float
|
||||
* @return property wrapper around a Float function
|
||||
*/
|
||||
@Deprecated
|
||||
public static <Z extends Number> PropertyValue<CameraFunction<Z, Float>> heatmapOpacity(CameraFunction<Z, Float> function) {
|
||||
return new PaintPropertyValue<>("heatmap-opacity", function);
|
||||
}
|
||||
|
||||
/**
|
||||
* The opacity of the entire fill extrusion layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available.
|
||||
*
|
||||
|
||||
@@ -37,18 +37,18 @@ public class CustomGeometrySource extends Source {
|
||||
* @param provider The tile provider that returns geometry data for this source.
|
||||
*/
|
||||
public CustomGeometrySource(String id, GeometryTileProvider provider) {
|
||||
this(id, provider, new GeoJsonOptions());
|
||||
this(id, provider, new CustomGeometrySourceOptions());
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a CustomGeometrySource with non-default GeoJsonOptions.
|
||||
* Create a CustomGeometrySource with non-default CustomGeometrySourceOptions.
|
||||
* <p>Supported options are minZoom, maxZoom, buffer, and tolerance.</p>
|
||||
*
|
||||
* @param id The source id.
|
||||
* @param provider The tile provider that returns geometry data for this source.
|
||||
* @param options GeoJsonOptions.
|
||||
* @param options CustomGeometrySourceOptions.
|
||||
*/
|
||||
public CustomGeometrySource(String id, GeometryTileProvider provider, GeoJsonOptions options) {
|
||||
public CustomGeometrySource(String id, GeometryTileProvider provider, CustomGeometrySourceOptions options) {
|
||||
this.provider = provider;
|
||||
executor = Executors.newFixedThreadPool(4);
|
||||
initialize(id, options);
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.mapbox.mapboxsdk.style.sources;
|
||||
|
||||
/**
|
||||
* Builder class for composing CustomGeometrySource objects.
|
||||
*/
|
||||
public class CustomGeometrySourceOptions extends GeoJsonOptions {
|
||||
|
||||
/**
|
||||
* If the data includes wrapped coordinates, setting this to true unwraps the coordinates.
|
||||
*
|
||||
* @param wrap defaults to false
|
||||
* @return the current instance for chaining
|
||||
*/
|
||||
public CustomGeometrySourceOptions withWrap(boolean wrap) {
|
||||
this.put("wrap", wrap);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* If the data includes geometry outside the tile boundaries, setting this to true clips the geometry
|
||||
* to the tile boundaries.
|
||||
*
|
||||
* @param clip defaults to false
|
||||
* @return the current instance for chaining
|
||||
*/
|
||||
public CustomGeometrySourceOptions withClip(boolean clip) {
|
||||
this.put("clip", clip);
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user