diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java index 3d65a92f72..ee562ad6e8 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java @@ -38,12 +38,15 @@ import java.util.Random; import static com.mapbox.mapboxsdk.style.expressions.Expression.FormatOption.formatFontScale; import static com.mapbox.mapboxsdk.style.expressions.Expression.FormatOption.formatTextColor; import static com.mapbox.mapboxsdk.style.expressions.Expression.FormatOption.formatTextFont; +import static com.mapbox.mapboxsdk.style.expressions.Expression.NumberFormatOption.currency; +import static com.mapbox.mapboxsdk.style.expressions.Expression.NumberFormatOption.locale; import static com.mapbox.mapboxsdk.style.expressions.Expression.concat; import static com.mapbox.mapboxsdk.style.expressions.Expression.format; import static com.mapbox.mapboxsdk.style.expressions.Expression.formatEntry; import static com.mapbox.mapboxsdk.style.expressions.Expression.get; import static com.mapbox.mapboxsdk.style.expressions.Expression.literal; import static com.mapbox.mapboxsdk.style.expressions.Expression.match; +import static com.mapbox.mapboxsdk.style.expressions.Expression.numberFormat; import static com.mapbox.mapboxsdk.style.expressions.Expression.rgb; import static com.mapbox.mapboxsdk.style.expressions.Expression.stop; import static com.mapbox.mapboxsdk.style.expressions.Expression.switchCase; @@ -72,8 +75,6 @@ import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textSize; */ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.OnMapClickListener, OnMapReadyCallback { - private static final String MARKER_SOURCE = "marker-source"; - private static final String MARKER_LAYER = "marker-layer"; private static final String ID_FEATURE_PROPERTY = "id"; private static final String SELECTED_FEATURE_PROPERTY = "selected"; private static final String TITLE_FEATURE_PROPERTY = "title"; @@ -81,8 +82,13 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. private static final String[] NORMAL_FONT_STACK = new String[] {"DIN Offc Pro Regular", "Arial Unicode MS Regular"}; private static final String[] BOLD_FONT_STACK = new String[] {"DIN Offc Pro Bold", "Arial Unicode MS Regular"}; + // layer & source constants + private static final String MARKER_SOURCE = "marker-source"; + private static final String MARKER_LAYER = "marker-layer"; private static final String MAPBOX_SIGN_SOURCE = "mapbox-sign-source"; private static final String MAPBOX_SIGN_LAYER = "mapbox-sign-layer"; + private static final String NUMBER_FORMAT_SOURCE = "mapbox-number-source"; + private static final String NUMBER_FORMAT_LAYER = "mapbox-number-layer"; private static final Expression TEXT_FIELD_EXPRESSION = switchCase(toBool(get(SELECTED_FEATURE_PROPERTY)), @@ -108,6 +114,7 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. private FeatureCollection markerCollection; private SymbolLayer markerSymbolLayer; private SymbolLayer mapboxSignSymbolLayer; + private SymbolLayer numberFormatSymbolLayer; private MapboxMap mapboxMap; private MapView mapView; @@ -177,11 +184,20 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. mapboxSignSymbolLayer = new SymbolLayer(MAPBOX_SIGN_LAYER, MAPBOX_SIGN_SOURCE); shuffleMapboxSign(); + // number format layer + Source numberFormatSource = new GeoJsonSource(NUMBER_FORMAT_SOURCE, Point.fromLngLat(4.92756, 52.3516)); + numberFormatSymbolLayer = new SymbolLayer(NUMBER_FORMAT_LAYER, NUMBER_FORMAT_SOURCE); + numberFormatSymbolLayer.setProperties( + textField( + numberFormat(123.456789, locale("nl-NL"), currency("EUR")) + ) + ); + mapboxMap.setStyle(new Style.Builder() .fromUri("asset://streets.json") .withImage("Car", Objects.requireNonNull(carBitmap), false) - .withSources(markerSource, mapboxSignSource) - .withLayers(markerSymbolLayer, mapboxSignSymbolLayer) + .withSources(markerSource, mapboxSignSource, numberFormatSource) + .withLayers(markerSymbolLayer, mapboxSignSymbolLayer, numberFormatSymbolLayer) ); // Set a click-listener so we can manipulate the map @@ -205,7 +221,7 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. // validate symbol flicker regression for #13407 markerSymbolLayer.setProperties(iconOpacity(match( get(ID_FEATURE_PROPERTY), literal(1.0f), - stop(feature.getStringProperty("id"), selected ? 0.3f : 1.0f) + stop(feature.getStringProperty("id"), selected ? 0.3f : 1.0f) ))); } } |