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/style/layers/Property.java21
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java20
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java14
3 files changed, 55 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Property.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Property.java
index ba3619567d..1c87b9004b 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Property.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Property.java
@@ -108,6 +108,27 @@ public final class Property {
@Retention(RetentionPolicy.SOURCE)
public @interface SYMBOL_PLACEMENT {}
+ // SYMBOL_Z_ORDER: Controls the order in which overlapping symbols in the same layer are rendered
+
+ /**
+ * Symbols will be sorted by their y-position relative to the viewport.
+ */
+ public static final String SYMBOL_Z_ORDER_VIEWPORT_Y = "viewport-y";
+ /**
+ * Symbols will be rendered in the same order as the source data with no sorting applied.
+ */
+ public static final String SYMBOL_Z_ORDER_SOURCE = "source";
+
+ /**
+ * Controls the order in which overlapping symbols in the same layer are rendered
+ */
+ @StringDef({
+ SYMBOL_Z_ORDER_VIEWPORT_Y,
+ SYMBOL_Z_ORDER_SOURCE,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface SYMBOL_Z_ORDER {}
+
// ICON_ROTATION_ALIGNMENT: In combination with `symbol-placement`, determines the rotation behavior of icons.
/**
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java
index c619d0141a..670548f12e 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java
@@ -1765,6 +1765,26 @@ public class PropertyFactory {
}
/**
+ * Controls the order in which overlapping symbols in the same layer are rendered
+ *
+ * @param value a String value
+ * @return property wrapper around String
+ */
+ public static PropertyValue<String> symbolZOrder(@Property.SYMBOL_Z_ORDER String value) {
+ return new LayoutPropertyValue<>("symbol-z-order", value);
+ }
+
+ /**
+ * Controls the order in which overlapping symbols in the same layer are rendered
+ *
+ * @param value a String value
+ * @return property wrapper around String
+ */
+ public static PropertyValue<Expression> symbolZOrder(Expression value) {
+ return new LayoutPropertyValue<>("symbol-z-order", value);
+ }
+
+ /**
* If true, the icon will be visible even if it collides with other previously drawn symbols.
*
* @param value a Boolean value
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java
index 3c4924bb6f..1d45f34bd3 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java
@@ -171,6 +171,17 @@ public class SymbolLayer extends Layer {
}
/**
+ * Get the SymbolZOrder property
+ *
+ * @return property wrapper value around String
+ */
+ @SuppressWarnings("unchecked")
+ public PropertyValue<String> getSymbolZOrder() {
+ checkThread();
+ return (PropertyValue<String>) new PropertyValue("symbol-z-order", nativeGetSymbolZOrder());
+ }
+
+ /**
* Get the IconAllowOverlap property
*
* @return property wrapper value around Boolean
@@ -1005,6 +1016,9 @@ public class SymbolLayer extends Layer {
private native Object nativeGetSymbolAvoidEdges();
@Keep
+ private native Object nativeGetSymbolZOrder();
+
+ @Keep
private native Object nativeGetIconAllowOverlap();
@Keep