From ab20413edfdf830927a3ce236503bc9022400d43 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Wed, 3 May 2017 08:59:55 +0200 Subject: [android] - add 3D buildings example (#8845) [android] - add support for filter for fillextrusionlayer. --- .../src/main/AndroidManifest.xml | 11 +++ .../style/BuildingFillExtrusionActivity.java | 95 ++++++++++++++++++++++ .../main/res/layout/activity_building_layer.xml | 18 ++++ .../src/main/res/values/strings.xml | 2 + platform/android/src/style/layers/layer.cpp | 2 + 5 files changed, 128 insertions(+) create mode 100644 platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java create mode 100644 platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_building_layer.xml (limited to 'platform/android') diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index fc10a01356..9ede763533 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -458,6 +458,17 @@ android:name="android.support.PARENT_ACTIVITY" android:value=".activity.FeatureOverviewActivity"/> + + + + ())), + fillExtrusionBase(Function.property("min_height", new IdentityStops())), + fillExtrusionOpacity(0.6f) + ); + map.addLayer(fillExtrusionLayer); + } + }); + } + + @Override + protected void onStart() { + super.onStart(); + mapView.onStart(); + } + + @Override + protected void onResume() { + super.onResume(); + mapView.onResume(); + } + + @Override + protected void onPause() { + super.onPause(); + mapView.onPause(); + } + + @Override + protected void onStop() { + super.onStop(); + mapView.onStop(); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + mapView.onSaveInstanceState(outState); + } + + @Override + public void onLowMemory() { + super.onLowMemory(); + mapView.onLowMemory(); + } + + @Override + public void onDestroy() { + super.onDestroy(); + mapView.onDestroy(); + } + +} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_building_layer.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_building_layer.xml new file mode 100644 index 0000000000..d9a10871b5 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_building_layer.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml index 6270eac72d..5b6cbb8c42 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml @@ -58,6 +58,7 @@ Url transform Restrict camera to a bounds Fill extrusions + Building layer Tracks the location of the user @@ -115,6 +116,7 @@ Transform urls on the fly Limit viewport to Iceland Shows how to add 3D extruded shapes + Shows how to show 3D extruded buildings category diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index 1ebad19a87..d571c3fd2e 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -121,6 +121,8 @@ namespace android { layer.as()->setFilter(filter); } else if (layer.is()) { layer.as()->setFilter(filter); + } else if (layer.is()){ + layer.as()->setFilter(filter); } else { mbgl::Log::Warning(mbgl::Event::JNI, "Layer doesn't support filters"); } -- cgit v1.2.1