summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java39
1 files changed, 27 insertions, 12 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java
index 79069a26f7..3a52a22f6e 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java
@@ -1,6 +1,8 @@
package com.mapbox.mapboxsdk.testapp.activity.feature;
import android.os.Bundle;
+import android.support.design.widget.FloatingActionButton;
+import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
@@ -9,7 +11,7 @@ import com.mapbox.geojson.Feature;
import com.mapbox.geojson.FeatureCollection;
import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.maps.MapView;
-import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.CircleLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -27,7 +29,6 @@ import static com.mapbox.mapboxsdk.style.expressions.Expression.neq;
public class QuerySourceFeaturesActivity extends AppCompatActivity {
public MapView mapView;
- private MapboxMap mapboxMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -38,31 +39,45 @@ public class QuerySourceFeaturesActivity extends AppCompatActivity {
mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(mapboxMap -> {
- QuerySourceFeaturesActivity.this.mapboxMap = mapboxMap;
-
JsonObject properties = new JsonObject();
properties.addProperty("key1", "value1");
final GeoJsonSource source = new GeoJsonSource("test-source",
FeatureCollection.fromFeatures(new Feature[] {
- Feature.fromGeometry(Point.fromLngLat(0, 0), properties)
+ Feature.fromGeometry(Point.fromLngLat(17.1, 51), properties),
+ Feature.fromGeometry(Point.fromLngLat(17.2, 51), properties),
+ Feature.fromGeometry(Point.fromLngLat(17.3, 51), properties),
+ Feature.fromGeometry(Point.fromLngLat(17.4, 51), properties),
}));
mapboxMap.addSource(source);
- mapboxMap.addLayer(new CircleLayer("test-layer", source.getId()).withFilter(neq(get("key1"), literal("value1"))));
+ Expression visible = eq(get("key1"), literal("value1"));
+ Expression invisible = neq(get("key1"), literal("value1"));
+
+ CircleLayer layer = new CircleLayer("test-layer", source.getId())
+ .withFilter(visible);
+ mapboxMap.addLayer(layer);
// Add a click listener
- mapboxMap.setOnMapClickListener(point -> {
+ mapboxMap.addOnMapClickListener(point -> {
// Query
List<Feature> features = source.querySourceFeatures(eq(get("key1"), literal("value1")));
Toast.makeText(QuerySourceFeaturesActivity.this, String.format("Found %s features",
features.size()), Toast.LENGTH_SHORT).show();
});
- });
- }
-
- public MapboxMap getMapboxMap() {
- return mapboxMap;
+ FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
+ fab.setColorFilter(ContextCompat.getColor(this, R.color.primary));
+ fab.setOnClickListener(view -> {
+ Expression visibility = layer.getFilter();
+ if (visibility != null && visibility.equals(visible)) {
+ layer.setFilter(invisible);
+ fab.setImageResource(R.drawable.ic_layers_clear);
+ } else {
+ layer.setFilter(visible);
+ fab.setImageResource(R.drawable.ic_layers);
+ }
+ });
+ });
}
@Override