summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxCountActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java16
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java40
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java1
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java92
5 files changed, 91 insertions, 62 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxCountActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxCountActivity.java
index c4ea81263b..35ed45442c 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxCountActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxCountActivity.java
@@ -10,6 +10,7 @@ import com.google.gson.JsonElement;
import com.mapbox.geojson.Feature;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import java.util.List;
@@ -37,6 +38,9 @@ public class QueryRenderedFeaturesBoxCountActivity extends AppCompatActivity {
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(mapboxMap -> {
QueryRenderedFeaturesBoxCountActivity.this.mapboxMap = mapboxMap;
+
+ mapboxMap.setStyle(new Style.Builder().fromUrl(Style.MAPBOX_STREETS));
+
selectionBox.setOnClickListener(view -> {
// Query
int top = selectionBox.getTop() - mapView.getTop();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java
index 9281526352..936850f2eb 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java
@@ -14,6 +14,7 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.FillLayer;
+import com.mapbox.mapboxsdk.style.layers.Layer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -48,15 +49,10 @@ public class QueryRenderedFeaturesBoxHighlightActivity extends AppCompatActivity
mapView.getMapAsync(mapboxMap -> {
QueryRenderedFeaturesBoxHighlightActivity.this.mapboxMap = mapboxMap;
- Style style = mapboxMap.getStyle();
-
// Add layer / source
final GeoJsonSource source = new GeoJsonSource("highlighted-shapes-source");
- style.addSource(source);
- style.addLayer(
- new FillLayer("highlighted-shapes-layer", "highlighted-shapes-source")
- .withProperties(fillColor(Color.RED))
- );
+ final Layer layer = new FillLayer("highlighted-shapes-layer", "highlighted-shapes-source")
+ .withProperties(fillColor(Color.RED));
selectionBox.setOnClickListener(view -> {
// Query
@@ -77,6 +73,12 @@ public class QueryRenderedFeaturesBoxHighlightActivity extends AppCompatActivity
// Update source data
source.setGeoJson(FeatureCollection.fromFeatures(features));
});
+
+ mapboxMap.setStyle(new Style.Builder()
+ .fromUrl(Style.MAPBOX_STREETS)
+ .withSource(source)
+ .withLayer(layer)
+ );
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java
index 6bb1cb6dee..22daf262d8 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java
@@ -1,5 +1,6 @@
package com.mapbox.mapboxsdk.testapp.activity.feature;
+import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.RectF;
import android.os.Bundle;
@@ -10,6 +11,8 @@ import android.widget.Toast;
import com.mapbox.geojson.Feature;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
+import com.mapbox.mapboxsdk.style.layers.BackgroundLayer;
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -20,6 +23,8 @@ import java.util.List;
import timber.log.Timber;
+import static com.mapbox.mapboxsdk.style.expressions.Expression.rgb;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.backgroundColor;
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconImage;
/**
@@ -45,20 +50,31 @@ public class QueryRenderedFeaturesBoxSymbolCountActivity extends AppCompatActivi
mapView.getMapAsync(mapboxMap -> {
QueryRenderedFeaturesBoxSymbolCountActivity.this.mapboxMap = mapboxMap;
- // Add a symbol layer (also works with annotations)
try {
- mapboxMap.getStyle().addSource(new GeoJsonSource("symbols-source", ResourceUtils.readRawResource(
- QueryRenderedFeaturesBoxSymbolCountActivity.this, R.raw.test_points_utrecht)));
- } catch (IOException ioException) {
- Timber.e(ioException, "Could not load geojson");
- return;
+ String testPoints = ResourceUtils.readRawResource(mapView.getContext(), R.raw.test_points_utrecht);
+ Bitmap markerImage = BitmapFactory.decodeResource(getResources(), R.drawable.mapbox_marker_icon_default);
+
+ mapboxMap.setStyle(new Style.Builder()
+ .withLayer(
+ new BackgroundLayer("bg")
+ .withProperties(
+ backgroundColor(rgb(120, 161, 226))
+ )
+ )
+ .withLayer(
+ new SymbolLayer("symbols-layer", "symbols-source")
+ .withProperties(
+ iconImage("test-icon")
+ )
+ )
+ .withSource(
+ new GeoJsonSource("symbols-source", testPoints)
+ )
+ .withImage("test-icon", markerImage)
+ );
+ } catch (IOException exception) {
+ exception.printStackTrace();
}
- mapboxMap.getStyle().addImage(
- "test-icon",
- BitmapFactory.decodeResource(getResources(),
- R.drawable.mapbox_marker_icon_default)
- );
- mapboxMap.getStyle().addLayer(new SymbolLayer("symbols-layer", "symbols-source").withProperties(iconImage("test-icon")));
selectionBox.setOnClickListener(view -> {
// Query
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java
index ee9733357e..1bd7b09a99 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java
@@ -66,7 +66,6 @@ public class QueryRenderedFeaturesPropertiesActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_query_features_point);
-
// Initialize map as normal
mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
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 d17a4ad9e5..f7d5a39e4a 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
@@ -5,12 +5,13 @@ import android.support.design.widget.FloatingActionButton;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
-
import com.google.gson.JsonObject;
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.maps.Style;
import com.mapbox.mapboxsdk.style.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.CircleLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
@@ -29,6 +30,7 @@ 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,47 +40,53 @@ public class QuerySourceFeaturesActivity extends AppCompatActivity {
// Initialize map as normal
mapView = (MapView) findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
- mapView.getMapAsync(mapboxMap -> {
- JsonObject properties = new JsonObject();
- properties.addProperty("key1", "value1");
- final GeoJsonSource source = new GeoJsonSource("test-source",
- FeatureCollection.fromFeatures(new Feature[] {
- 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.getStyle().addSource(source);
-
- 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.getStyle().addLayer(layer);
-
- // Add a click listener
- 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();
-
- return false;
- });
-
- 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);
- }
- });
+ mapView.getMapAsync(map -> {
+ this.mapboxMap = map;
+ mapboxMap.getStyle(this::initStyle);
+ mapboxMap.setStyle(Style.MAPBOX_STREETS);
+ });
+ }
+
+ private void initStyle(Style style) {
+ JsonObject properties = new JsonObject();
+ properties.addProperty("key1", "value1");
+ final GeoJsonSource source = new GeoJsonSource("test-source",
+ FeatureCollection.fromFeatures(new Feature[] {
+ 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),
+ }));
+ style.addSource(source);
+
+ Expression visible = eq(get("key1"), literal("value1"));
+ Expression invisible = neq(get("key1"), literal("value1"));
+
+ CircleLayer layer = new CircleLayer("test-layer", source.getId())
+ .withFilter(visible);
+ style.addLayer(layer);
+
+ // Add a click listener
+ 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();
+
+ return false;
+ });
+
+ 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);
+ }
});
}