summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-04-30 17:57:24 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-04-30 18:16:53 +0300
commit8bdde079fd4f27e234f2289ec29a53a21a98c197 (patch)
tree49ccee1431761808061cf6d272c3f9a27a91110f
parent226a602b3fc4cb9ff27319f82214bccbf7b49331 (diff)
downloadqtlocation-mapboxgl-upstream/fill_layer_flickering.tar.gz
Reproduce blinking of fill layerupstream/fill_layer_flickering
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java78
1 files changed, 58 insertions, 20 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java
index f3bfe768be..cea273ef04 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java
@@ -4,6 +4,14 @@ import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Random;
+
+import com.mapbox.mapboxsdk.style.layers.FillLayer;
+import com.mapbox.mapboxsdk.style.sources.TileSet;
+import com.mapbox.mapboxsdk.style.sources.VectorSource;
+
import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
@@ -11,6 +19,11 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
+import static com.mapbox.mapboxsdk.style.expressions.Expression.rgb;
+
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillColor;
+import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillOpacity;
+
import timber.log.Timber;
/**
@@ -19,17 +32,6 @@ import timber.log.Timber;
public class MaxMinZoomActivity extends AppCompatActivity implements OnMapReadyCallback {
private MapView mapView;
- private MapboxMap mapboxMap;
-
- private MapboxMap.OnMapClickListener clickListener = new MapboxMap.OnMapClickListener() {
- @Override
- public boolean onMapClick(@NonNull LatLng point) {
- if (mapboxMap != null) {
- mapboxMap.setStyle(new Style.Builder().fromUrl(Style.OUTDOORS));
- }
- return true;
- }
- };
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -44,12 +46,51 @@ public class MaxMinZoomActivity extends AppCompatActivity implements OnMapReadyC
}
@Override
- public void onMapReady(@NonNull final MapboxMap map) {
- mapboxMap = map;
- mapboxMap.setStyle(Style.MAPBOX_STREETS);
- mapboxMap.setMinZoomPreference(3);
- mapboxMap.setMaxZoomPreference(5);
- mapboxMap.addOnMapClickListener(clickListener);
+ public void onMapReady(@NonNull final MapboxMap mapboxMap) {
+ mapboxMap.setDebugActive(true);
+ Style.Builder builder = new Style.Builder()
+ .fromUrl("https://cdn.airmap.com/static/map-styles/stage/0.10.0-beta1/standard.json");
+ mapboxMap.setStyle(builder, new Style.OnStyleLoaded() {
+ @Override
+ public void onStyleLoaded(@NonNull Style style) {
+ Map<String, String> sourceMap = new HashMap<>();
+ sourceMap.put("usa_ama", "ama_field");
+ sourceMap.put("usa_fish_wildlife_refuge", "park");
+ sourceMap.put("usa_national_marine_sanctuary", "park");
+ sourceMap.put("usa_national_park", "park");
+ sourceMap.put("usa_sec_91", "emergency,fire,special_use_airspace,tfr,wildfire");
+ sourceMap.put("usa_sec_336", "airport,controlled_airspace");
+ sourceMap.put("usa_wilderness_area", "park");
+ sourceMap.put("usa_airmap_rules", "airport,hospital,power_plant,prison,school");
+
+ for (String source : sourceMap.keySet()) {
+ String layers = sourceMap.get(source);
+
+ String urlTemplates = "https://stage.api.airmap.com/tiledata/v1/" + source + "/" + layers + "/{z}/{x}/{y}";
+ TileSet tileSet = new TileSet("2.2.0", urlTemplates);
+ tileSet.setMaxZoom(12f);
+ tileSet.setMinZoom(8f);
+ VectorSource tileSource = new VectorSource(source, tileSet);
+ style.addSource(tileSource);
+
+ String[] layersArray = layers.split(",");
+ for (String layer : layersArray) {
+ FillLayer fillLayer = new FillLayer("airmap|" + source + "|" + layer, source)
+ .withProperties(
+ fillOpacity(0.2f),
+ fillColor(rgb(new Random().nextInt(255), new Random().nextInt(255), new Random().nextInt(255)))
+ );
+ fillLayer.setSourceLayer(source + "_" + layer);
+ style.addLayer(fillLayer);
+ }
+ }
+ }
+ });
+// mapboxMap.setStyle(Style.MAPBOX_STREETS);
+// mapboxMap.setMinZoomPreference(3);
+// mapboxMap.setMaxZoomPreference(5);
+// mapboxMap.addOnMapClickListener(clickListener);
+
}
@Override
@@ -85,9 +126,6 @@ public class MaxMinZoomActivity extends AppCompatActivity implements OnMapReadyC
@Override
protected void onDestroy() {
super.onDestroy();
- if (mapboxMap != null) {
- mapboxMap.removeOnMapClickListener(clickListener);
- }
mapView.onDestroy();
}