diff options
author | Subodh Nijsure <subodh.nijsure@gmail.com> | 2017-09-30 07:13:44 -0700 |
---|---|---|
committer | Tobrun <tobrun.van.nuland@gmail.com> | 2017-10-26 09:22:00 -0700 |
commit | 18b01e668eed91028c87ac4d971dee653d6aff92 (patch) | |
tree | 9e251fddf31f40201b88489b058cef800c133433 | |
parent | 91eb595463cf42c85edc7fe5b47023f8d7b75828 (diff) | |
download | qtlocation-mapboxgl-upstream/tvn-add-symbol-toggle.tar.gz |
Add option to toggle symbol layer visibility.upstream/tvn-add-symbol-toggle
3 files changed, 24 insertions, 4 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java index 95c3929c1d..abfd7ae529 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java @@ -12,6 +12,7 @@ import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.style.layers.Property; import com.mapbox.mapboxsdk.style.layers.SymbolLayer; import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.testapp.R; @@ -32,6 +33,7 @@ import static com.mapbox.mapboxsdk.style.functions.stops.Stops.interval; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconAllowOverlap; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconImage; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconSize; +import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.visibility; /** * Test activity showcasing changing the icon with a zoom function and adding selection state to a SymbolLayer. @@ -49,9 +51,11 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity { private MapView mapView; private MapboxMap mapboxMap; private GeoJsonSource source; + private SymbolLayer layer; private boolean isInitialPosition = true; private boolean isSelected = false; + private boolean isShowingSymbolLayer = true; @Override public void onCreate(Bundle savedInstanceState) { @@ -81,6 +85,13 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity { } } + private void toggleSymbolLayerVisibility() { + layer.setProperties( + visibility(isShowingSymbolLayer ? Property.NONE : Property.VISIBLE) + ); + isShowingSymbolLayer = !isShowingSymbolLayer; + } + private FeatureCollection createFeatureCollection() { Position position = isInitialPosition ? Position.fromCoordinates(-74.01618140, 40.701745) @@ -95,7 +106,7 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity { } private void addLayer() { - SymbolLayer layer = new SymbolLayer(LAYER_ID, SOURCE_ID); + layer = new SymbolLayer(LAYER_ID, SOURCE_ID); layer.setProperties( iconImage( zoom( @@ -145,9 +156,13 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { - if (mapboxMap != null && item.getItemId() == R.id.menu_action_change_location) { - isInitialPosition = !isInitialPosition; - updateSource(); + if (mapboxMap != null) { + if (item.getItemId() == R.id.menu_action_change_location) { + isInitialPosition = !isInitialPosition; + updateSource(); + } else if (item.getItemId() == R.id.menu_action_toggle_source) { + toggleSymbolLayerVisibility(); + } } return super.onOptionsItemSelected(item); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_symbols.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_symbols.xml index 3e5c8ab14c..7f3c44262d 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_symbols.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_symbols.xml @@ -5,4 +5,8 @@ android:id="@+id/menu_action_change_location" android:title="@string/menuitem_change_location" app:showAsAction="never"/> + <item + android:id="@+id/menu_action_toggle_source" + android:title="@string/menuitem_toggle_symbol_layer_visibility" + app:showAsAction="never"/> </menu> diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/actions.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/actions.xml index 416b9a8f86..5c0828ab74 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/actions.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/actions.xml @@ -16,6 +16,7 @@ <string name="menuitem_title_bounce">Bounce interpolator</string> <string name="menuitem_title_anticipate_overshoot">Anticipate/Overshoot interpolator</string> <string name="menuitem_title_path">PathInterpolator interpolator</string> + <string name="menuitem_toggle_symbol_layer_visibility">Toggle Symbol Layer Visibility</string> <string name="button_camera_move">Move</string> <string name="button_camera_ease">Ease</string> <string name="button_camera_animate">Animate</string> |