summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubodh Nijsure <subodh.nijsure@gmail.com>2017-09-30 07:13:44 -0700
committerTobrun <tobrun.van.nuland@gmail.com>2017-10-26 09:22:00 -0700
commit18b01e668eed91028c87ac4d971dee653d6aff92 (patch)
tree9e251fddf31f40201b88489b058cef800c133433
parent91eb595463cf42c85edc7fe5b47023f8d7b75828 (diff)
downloadqtlocation-mapboxgl-upstream/tvn-add-symbol-toggle.tar.gz
Add option to toggle symbol layer visibility.upstream/tvn-add-symbol-toggle
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java23
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_symbols.xml4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/actions.xml1
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>