diff options
author | Justin R. Miller <incanus@users.noreply.github.com> | 2016-09-23 10:13:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-23 10:13:11 -0700 |
commit | 6aa00afd317762afbec7add23ff6be735b5765ac (patch) | |
tree | 844d776511a7afbd57fa56b7a2254450a6bf55e4 /platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp | |
parent | a03e6c14b65f26cab351669e63259e70c4d49b73 (diff) | |
download | qtlocation-mapboxgl-6aa00afd317762afbec7add23ff6be735b5765ac.tar.gz |
[ios, android] add visual tests for fill, line, & numeric filter styling (#6433)
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java index 84467b3aee..efe82ee9a6 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java @@ -44,8 +44,11 @@ import java.io.Writer; import java.util.ArrayList; import java.util.List; +import static android.os.Looper.getMainLooper; import static com.mapbox.mapboxsdk.style.layers.Filter.all; import static com.mapbox.mapboxsdk.style.layers.Filter.eq; +import static com.mapbox.mapboxsdk.style.layers.Filter.gte; +import static com.mapbox.mapboxsdk.style.layers.Filter.lt; import static com.mapbox.mapboxsdk.style.layers.Function.Stop; import static com.mapbox.mapboxsdk.style.layers.Function.stop; import static com.mapbox.mapboxsdk.style.layers.Function.zoom; @@ -62,6 +65,7 @@ import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillTranslateAnc import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.lineCap; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.lineColor; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.lineJoin; +import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.lineOpacity; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.lineWidth; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.symbolPlacement; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.visibility; @@ -174,6 +178,15 @@ public class RuntimeStyleActivity extends AppCompatActivity { case R.id.action_add_custom_tiles: addCustomTileSource(); return true; + case R.id.action_fill_filter: + styleFillFilterLayer(); + return true; + case R.id.action_line_filter: + styleLineFilterLayer(); + return true; + case R.id.action_numeric_filter: + styleNumericFillLayer(); + return true; default: return super.onOptionsItemSelected(item); } @@ -452,6 +465,97 @@ public class RuntimeStyleActivity extends AppCompatActivity { ); } + private void styleFillFilterLayer() { + mapboxMap.setStyleUrl("asset://fill_filter_style.json"); + mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(31, -100), 3)); + + Handler handler = new Handler(getMainLooper()); + handler.postDelayed(new Runnable() { + @Override + public void run() { + if (mapboxMap == null) { + return; + } + + Log.d(TAG, "Styling filtered fill layer"); + + FillLayer states = (FillLayer) mapboxMap.getLayer("states"); + + if (states != null) { + states.setFilter(eq("name", "Texas")); + + states.setProperties( + fillColor(Color.RED), + fillOpacity(0.25f) + ); + } else { + Toast.makeText(RuntimeStyleActivity.this, "No states layer in this style", Toast.LENGTH_SHORT).show(); + } + } + }, 2000); + } + + private void styleLineFilterLayer() { + mapboxMap.setStyleUrl("asset://line_filter_style.json"); + mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5)); + + Handler handler = new Handler(getMainLooper()); + handler.postDelayed(new Runnable() { + @Override + public void run() { + if (mapboxMap == null) { + return; + } + + Log.d(TAG, "Styling filtered line layer"); + + LineLayer counties = (LineLayer) mapboxMap.getLayer("counties"); + + if (counties != null) { + counties.setFilter(eq("NAME10", "Washington")); + + counties.setProperties( + lineColor(Color.RED), + lineOpacity(0.75f), + lineWidth(5f) + ); + } else { + Toast.makeText(RuntimeStyleActivity.this, "No counties layer in this style", Toast.LENGTH_SHORT).show(); + } + } + }, 2000); + } + + private void styleNumericFillLayer() { + mapboxMap.setStyleUrl("asset://numeric_filter_style.json"); + mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5)); + + Handler handler = new Handler(getMainLooper()); + handler.postDelayed(new Runnable() { + @Override + public void run() { + if (mapboxMap == null) { + return; + } + + Log.d(TAG, "Styling numeric fill layer"); + + FillLayer regions = (FillLayer) mapboxMap.getLayer("regions"); + + if (regions != null) { + regions.setFilter(all(gte("HRRNUM", 200), lt("HRRNUM", 300))); + + regions.setProperties( + fillColor(Color.BLUE), + fillOpacity(0.5f) + ); + } else { + Toast.makeText(RuntimeStyleActivity.this, "No regions layer in this style", Toast.LENGTH_SHORT).show(); + } + } + }, 2000); + } + private static class DefaultCallback implements MapboxMap.CancelableCallback { @Override |