summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Zugaldia <antonio@mapbox.com>2019-01-17 17:00:56 -0800
committerGitHub <noreply@github.com>2019-01-17 17:00:56 -0800
commitd5659aa6647f1fc77159567bd22029a2dc9cd7a3 (patch)
treea0949a36de04a1797858ca9ddbb9a66a2555cf80
parente0fc92ea0ba55d1740db5f7985efc665d73129a5 (diff)
downloadqtlocation-mapboxgl-d5659aa6647f1fc77159567bd22029a2dc9cd7a3.tar.gz
[core,ios,android] Update feedback URL in code and tests (#13710)
* [core,ios] rename all occurrence of www.mapbox.com/map-feedback to apps.mapbox.com/feedback * [ios,android] rename all occurrence of www.mapbox.com/feedback to apps.mapbox.com/feedback
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/attribution/AttributionParseTest.java14
-rw-r--r--platform/darwin/src/MGLAttributionInfo.mm2
-rw-r--r--platform/darwin/test/MGLAttributionInfoTests.m8
-rw-r--r--platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json2
-rw-r--r--test/fixtures/resources/source_raster.json2
-rw-r--r--test/fixtures/resources/source_vector.json2
8 files changed, 17 insertions, 16 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java
index e7ee5b6130..035614a90c 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/attribution/Attribution.java
@@ -18,6 +18,7 @@ public class Attribution {
// Using a List makes URL backwards compatible
IMPROVE_MAP_URLS.add("https://www.mapbox.com/feedback/");
IMPROVE_MAP_URLS.add("https://www.mapbox.com/map-feedback/");
+ IMPROVE_MAP_URLS.add("https://apps.mapbox.com/feedback/");
}
private String title;
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
index 15ddfe644e..4f523948da 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
@@ -37,7 +37,7 @@ import java.util.Set;
*/
public class AttributionDialogManager implements View.OnClickListener, DialogInterface.OnClickListener {
- private static final String MAP_FEEDBACK_URL = "https://www.mapbox.com/feedback";
+ private static final String MAP_FEEDBACK_URL = "https://apps.mapbox.com/feedback";
private static final String MAP_FEEDBACK_LOCATION_FORMAT = MAP_FEEDBACK_URL + "/#/%f/%f/%d";
@NonNull
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/attribution/AttributionParseTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/attribution/AttributionParseTest.java
index f20244aca9..cd58442e02 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/attribution/AttributionParseTest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/attribution/AttributionParseTest.java
@@ -15,8 +15,8 @@ import static junit.framework.Assert.assertEquals;
@Config(constants = BuildConfig.class)
public class AttributionParseTest {
- private static final String STREETS_ATTRIBUTION = "<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a>\n";
- private static final String SATELLITE_ATTRIBUTION = "<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a> <a href=\"https://www.digitalglobe.com/\" target=\"_blank\">&copy; DigitalGlobe</a>\n";
+ private static final String STREETS_ATTRIBUTION = "<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://apps.mapbox.com/feedback/\" target=\"_blank\">Improve this map</a>\n";
+ private static final String SATELLITE_ATTRIBUTION = "<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://apps.mapbox.com/feedback/\" target=\"_blank\">Improve this map</a> <a href=\"https://www.digitalglobe.com/\" target=\"_blank\">&copy; DigitalGlobe</a>\n";
@Test
public void testParseAttributionStringSatellite() throws Exception {
@@ -39,7 +39,7 @@ public class AttributionParseTest {
assertEquals("Title openstreetmap should match", "© OpenStreetMap", attribution.getTitle());
break;
case 2:
- assertEquals("URL improve map should match", "https://www.mapbox.com/map-feedback/", attribution.getUrl());
+ assertEquals("URL improve map should match", "https://apps.mapbox.com/feedback/", attribution.getUrl());
assertEquals("Title improve map should match", "Improve This Map", attribution.getTitle());
break;
case 3:
@@ -72,7 +72,7 @@ public class AttributionParseTest {
assertEquals("Title openstreetmap should match", "© OpenStreetMap", attribution.getTitle());
break;
case 2:
- assertEquals("URL improve map should match", "https://www.mapbox.com/map-feedback/", attribution.getUrl());
+ assertEquals("URL improve map should match", "https://apps.mapbox.com/feedback/", attribution.getUrl());
assertEquals("Title improve map should match", "Improve This Map", attribution.getTitle());
break;
}
@@ -98,7 +98,7 @@ public class AttributionParseTest {
assertEquals("Title openstreetmap should match", "© OpenStreetMap", attribution.getTitle());
break;
case 1:
- assertEquals("URL improve map should match", "https://www.mapbox.com/map-feedback/", attribution.getUrl());
+ assertEquals("URL improve map should match", "https://apps.mapbox.com/feedback/", attribution.getUrl());
assertEquals("Title improve map should match", "Improve This Map", attribution.getTitle());
break;
}
@@ -126,7 +126,7 @@ public class AttributionParseTest {
assertEquals("Title openstreetmap should match", "© OpenStreetMap", attribution.getTitle());
break;
case 2:
- assertEquals("URL improve map should match", "https://www.mapbox.com/map-feedback/", attribution.getUrl());
+ assertEquals("URL improve map should match", "https://apps.mapbox.com/feedback/", attribution.getUrl());
assertEquals("Title improve map should match", "Improve This Map", attribution.getTitle());
break;
case 3:
@@ -188,7 +188,7 @@ public class AttributionParseTest {
assertEquals("Title openstreetmap should match", "OpenStreetMap", attribution.getTitle());
break;
case 2:
- assertEquals("URL improve map should match", "https://www.mapbox.com/map-feedback/", attribution.getUrl());
+ assertEquals("URL improve map should match", "https://apps.mapbox.com/feedback/", attribution.getUrl());
assertEquals("Title improve map should match", "Improve This Map", attribution.getTitle());
break;
case 3:
diff --git a/platform/darwin/src/MGLAttributionInfo.mm b/platform/darwin/src/MGLAttributionInfo.mm
index 2d65a2e46e..17d159f660 100644
--- a/platform/darwin/src/MGLAttributionInfo.mm
+++ b/platform/darwin/src/MGLAttributionInfo.mm
@@ -161,7 +161,7 @@
return nil;
}
- NSURLComponents *components = [NSURLComponents componentsWithString:@"https://www.mapbox.com/feedback/"];
+ NSURLComponents *components = [NSURLComponents componentsWithString:@"https://apps.mapbox.com/feedback/"];
components.fragment = [NSString stringWithFormat:@"/%.5f/%.5f/%.2f/%.1f/%i",
centerCoordinate.longitude, centerCoordinate.latitude, zoomLevel,
direction, (int)round(pitch)];
diff --git a/platform/darwin/test/MGLAttributionInfoTests.m b/platform/darwin/test/MGLAttributionInfoTests.m
index 415b040516..29d5024bd3 100644
--- a/platform/darwin/test/MGLAttributionInfoTests.m
+++ b/platform/darwin/test/MGLAttributionInfoTests.m
@@ -14,7 +14,7 @@
@"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> "
@"<a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">©️ OpenStreetMap</a> "
@"CC&nbsp;BY-SA "
- @"<a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a>",
+ @"<a class=\"mapbox-improve-map\" href=\"https://apps.mapbox.com/feedback/\" target=\"_blank\">Improve this map</a>",
};
NSMutableArray<MGLAttributionInfo *> *infos = [NSMutableArray array];
@@ -44,13 +44,13 @@
XCTAssertNil([infos[2] feedbackURLAtCenterCoordinate:mapbox zoomLevel:14]);
XCTAssertEqualObjects(infos[3].title.string, @"Improve this map");
- XCTAssertEqualObjects(infos[3].URL, [NSURL URLWithString:@"https://www.mapbox.com/map-feedback/"]);
+ XCTAssertEqualObjects(infos[3].URL, [NSURL URLWithString:@"https://apps.mapbox.com/feedback/"]);
XCTAssertTrue(infos[3].feedbackLink);
NSURL *styleURL = [MGLStyle satelliteStreetsStyleURLWithVersion:99];
XCTAssertEqualObjects([infos[3] feedbackURLAtCenterCoordinate:mapbox zoomLevel:14],
- [NSURL URLWithString:@"https://www.mapbox.com/feedback/?referrer=com.mapbox.Mapbox#/77.63680/12.98108/14.00/0.0/0"]);
+ [NSURL URLWithString:@"https://apps.mapbox.com/feedback/?referrer=com.mapbox.Mapbox#/77.63680/12.98108/14.00/0.0/0"]);
XCTAssertEqualObjects([infos[3] feedbackURLForStyleURL:styleURL atCenterCoordinate:mapbox zoomLevel:3.14159 direction:90.9 pitch:12.5],
- [NSURL URLWithString:@"https://www.mapbox.com/feedback/?referrer=com.mapbox.Mapbox&owner=mapbox&id=satellite-streets-v99&access_token&map_sdk_version=1.0.0#/77.63680/12.98108/3.14/90.9/13"]);
+ [NSURL URLWithString:@"https://apps.mapbox.com/feedback/?referrer=com.mapbox.Mapbox&owner=mapbox&id=satellite-streets-v99&access_token&map_sdk_version=1.0.0#/77.63680/12.98108/3.14/90.9/13"]);
}
- (void)testStyle {
diff --git a/platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json b/platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json
index 140aa48fa7..371428d415 100644
--- a/platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json
+++ b/platform/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6.json
@@ -1 +1 @@
-{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a>","bounds":[-180,-85.0511,180,85.0511],"center":[0,0,0],"format":"pbf","maxzoom":15,"minzoom":0,"name":"Mapbox Streets V6 + Vector Terrain V2","scheme":"xyz","tilejson":"2.0.0","tiles":["asset://tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf"],"vector_layers":[{"description":"Generalized landcover classification","fields":{"class":"One of: wood, scrub, grass, crop, snow"},"id":"landcover","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"","fields":{"class":"One of: shadow, highlight","level":"Brightness %. One of: 94, 90, 89, 78, 67, 56"},"id":"hillshade","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"Elevation contour polygons","fields":{"ele":"Integer. The elevation of the contour in meters","index":"Indicator for every 2nd, 5th, or 10th contour. Coastlines are given -1. One of: 2, 5, 10, -1, null"},"id":"contour","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"","fields":{"class":"One of: park, cemetery, hospital, school, industrial, parking, pitch, piste, agriculture, wood, scrub, grass, sand, rock, glacier","osm_id":"Unique OSM ID number","type":"OSM tag, more specific than class"},"id":"landuse","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent, ditch, drain","osm_id":"Unique OSM ID number","type":"One of: river, canal, stream, ditch, drain"},"id":"waterway","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number"},"id":"water","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number","type":"One of: runway, taxiway, apron"},"id":"aeroway","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: fence, hedge, cliff, gate, land","osm_id":"Unique OSM ID number"},"id":"barrier_line","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number"},"id":"building","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: wetland, wetland_noveg","osm_id":"Unique OSM ID number"},"id":"landuse_overlay","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail","layer":"Number used for ordering overlapping tunnels. May be any integer, but most common values are -1 to -5","oneway":"Number. Oneway roads are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the tunnel's highway tag"},"id":"tunnel","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail","oneway":"Number. Oneway roads are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the road's highway tag"},"id":"road","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail, aerialway","layer":"Number used for ordering overlapping bridges. May be any integer, but most common values are 1 to 5","oneway":"Number. Oneway bridges are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the bridge's highway tag"},"id":"bridge","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"admin_level":"The OSM administrative level of the boundary. One of: 2, 3, 4","disputed":"Number. Disputed boundaries are 1, all others are 0","maritime":"Number. Maritime boundaries are 1, all others are 0"},"id":"admin","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"code":"ISO 3166-1 Alpha-2 code","name":"Local name of the country","name_de":"German name of the country","name_en":"English name of the country","name_es":"Spanish name of the country","name_fr":"French name of the country","name_ru":"Russian name of the country","name_zh":"Chinese name of the country","osm_id":"Unique OSM ID number","parent":"ISO 3166-1 Alpha-2 code of the administering/parent state, if any","scalerank":"Number, 1-6. Useful for styling text sizes","type":"One of: country, territory, disputed territory, sar"},"id":"country_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"labelrank":"Number, 1-6. Useful for styling text sizes","name":"Local or international name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","placement":"One of: point, line"},"id":"marine_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"abbr":"Abbreviated state name","area":"The area of the state in kilometers²","name":"Local name of the state","name_de":"German name of the state","name_en":"English name of the state","name_es":"Spanish name of the state","name_fr":"French name of the state","name_ru":"Russian name of the state","name_zh":"Chinese name of the state","osm_id":"Unique OSM ID number"},"id":"state_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"capital":"Admin level the city is a capital of, if any. One of: 2, 3, 4, null","ldir":"A hint for label placement at low zoom levels. One of: N, E, S, W, NE, SE, SW, NW, null","localrank":"Number. Priority relative to nearby places. Useful for limiting label density","name":"Local name of the place","name_de":"German name of the place","name_en":"English name of the place","name_es":"Spanish name of the place","name_fr":"French name of the place","name_ru":"Russian name of the place","name_zh":"Chinese name of the place","osm_id":"Unique OSM ID number","scalerank":"Number, 0-9 or null. Useful for styling text & marker sizes","type":"One of: city, town, village, hamlet, suburb, neighbourhood"},"id":"place_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"area":"The area of the water polygon in Mercator meters²","name":"Local name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","osm_id":"Unique OSM ID number"},"id":"water_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"address":"Street address of the POI","localrank":"Number. Priority relative to nearby POIs. Useful for limiting label density","maki":"The name of the Maki icon that should be used for the POI","name":"Local name of the POI","name_de":"German name of the POI","name_en":"English name of the POI","name_es":"Spanish name of the POI","name_fr":"French name of the POI","name_ru":"Russian name of the POI","name_zh":"Chinese name of the POI","network":"For rail stations, the network(s) that the station serves. Useful for icon styling","osm_id":"Unique OSM ID number","ref":"Short reference code, if any","scalerank":"Number. 1-4. Useful for styling icon sizes and minimum zoom levels","type":"The original OSM tag value","website":"URL of the POI"},"id":"poi_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path","len":"Number. Length of the road segment in Mercator meters","localrank":"Number. Used for shield points only. Priority relative to nearby shields. Useful for limiting shield density","name":"Local name of the road","name_de":"German name of the road","name_en":"English name of the road","name_es":"Spanish name of the road","name_fr":"French name of the road","name_ru":"Russian name of the road","name_zh":"Chinese name of the road","osm_id":"Unique OSM ID number","ref":"Route number of the road","reflen":"Number. How many characters long the ref tag is. Useful for shield styling","shield":"The shield style to use. One of: default, mx-federal, mx-state, us-highway, us-highway-alternate, us-highway-business, us-highway-duplex, us-interstate, us-interstate-business, us-interstate-duplex, us-interstate-truck, us-state"},"id":"road_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent","name":"Local name of the waterway","name_de":"German name of the waterway","name_en":"English name of the waterway","name_es":"Spanish name of the waterway","name_fr":"French name of the waterway","name_ru":"Russian name of the waterway","name_zh":"Chinese name of the waterway","osm_id":"Unique OSM ID number","type":"One of: river, canal, stream"},"id":"waterway_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"house_num":"House number","osm_id":"Unique OSM ID number"},"id":"housenum_label","source":"mapbox.mapbox-streets-v6"}]}
+{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://apps.mapbox.com/feedback/\" target=\"_blank\">Improve this map</a>","bounds":[-180,-85.0511,180,85.0511],"center":[0,0,0],"format":"pbf","maxzoom":15,"minzoom":0,"name":"Mapbox Streets V6 + Vector Terrain V2","scheme":"xyz","tilejson":"2.0.0","tiles":["asset://tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf"],"vector_layers":[{"description":"Generalized landcover classification","fields":{"class":"One of: wood, scrub, grass, crop, snow"},"id":"landcover","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"","fields":{"class":"One of: shadow, highlight","level":"Brightness %. One of: 94, 90, 89, 78, 67, 56"},"id":"hillshade","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"Elevation contour polygons","fields":{"ele":"Integer. The elevation of the contour in meters","index":"Indicator for every 2nd, 5th, or 10th contour. Coastlines are given -1. One of: 2, 5, 10, -1, null"},"id":"contour","maxzoom":22,"minzoom":0,"source":"mapbox.mapbox-terrain-v2"},{"description":"","fields":{"class":"One of: park, cemetery, hospital, school, industrial, parking, pitch, piste, agriculture, wood, scrub, grass, sand, rock, glacier","osm_id":"Unique OSM ID number","type":"OSM tag, more specific than class"},"id":"landuse","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent, ditch, drain","osm_id":"Unique OSM ID number","type":"One of: river, canal, stream, ditch, drain"},"id":"waterway","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number"},"id":"water","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number","type":"One of: runway, taxiway, apron"},"id":"aeroway","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: fence, hedge, cliff, gate, land","osm_id":"Unique OSM ID number"},"id":"barrier_line","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"osm_id":"Unique OSM ID number"},"id":"building","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: wetland, wetland_noveg","osm_id":"Unique OSM ID number"},"id":"landuse_overlay","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail","layer":"Number used for ordering overlapping tunnels. May be any integer, but most common values are -1 to -5","oneway":"Number. Oneway roads are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the tunnel's highway tag"},"id":"tunnel","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail","oneway":"Number. Oneway roads are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the road's highway tag"},"id":"road","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path, major_rail, minor_rail, aerialway","layer":"Number used for ordering overlapping bridges. May be any integer, but most common values are 1 to 5","oneway":"Number. Oneway bridges are 1, all others are 0","osm_id":"Unique OSM ID number","type":"The value of the bridge's highway tag"},"id":"bridge","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"admin_level":"The OSM administrative level of the boundary. One of: 2, 3, 4","disputed":"Number. Disputed boundaries are 1, all others are 0","maritime":"Number. Maritime boundaries are 1, all others are 0"},"id":"admin","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"code":"ISO 3166-1 Alpha-2 code","name":"Local name of the country","name_de":"German name of the country","name_en":"English name of the country","name_es":"Spanish name of the country","name_fr":"French name of the country","name_ru":"Russian name of the country","name_zh":"Chinese name of the country","osm_id":"Unique OSM ID number","parent":"ISO 3166-1 Alpha-2 code of the administering/parent state, if any","scalerank":"Number, 1-6. Useful for styling text sizes","type":"One of: country, territory, disputed territory, sar"},"id":"country_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"labelrank":"Number, 1-6. Useful for styling text sizes","name":"Local or international name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","placement":"One of: point, line"},"id":"marine_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"abbr":"Abbreviated state name","area":"The area of the state in kilometers²","name":"Local name of the state","name_de":"German name of the state","name_en":"English name of the state","name_es":"Spanish name of the state","name_fr":"French name of the state","name_ru":"Russian name of the state","name_zh":"Chinese name of the state","osm_id":"Unique OSM ID number"},"id":"state_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"capital":"Admin level the city is a capital of, if any. One of: 2, 3, 4, null","ldir":"A hint for label placement at low zoom levels. One of: N, E, S, W, NE, SE, SW, NW, null","localrank":"Number. Priority relative to nearby places. Useful for limiting label density","name":"Local name of the place","name_de":"German name of the place","name_en":"English name of the place","name_es":"Spanish name of the place","name_fr":"French name of the place","name_ru":"Russian name of the place","name_zh":"Chinese name of the place","osm_id":"Unique OSM ID number","scalerank":"Number, 0-9 or null. Useful for styling text & marker sizes","type":"One of: city, town, village, hamlet, suburb, neighbourhood"},"id":"place_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"area":"The area of the water polygon in Mercator meters²","name":"Local name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","osm_id":"Unique OSM ID number"},"id":"water_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"address":"Street address of the POI","localrank":"Number. Priority relative to nearby POIs. Useful for limiting label density","maki":"The name of the Maki icon that should be used for the POI","name":"Local name of the POI","name_de":"German name of the POI","name_en":"English name of the POI","name_es":"Spanish name of the POI","name_fr":"French name of the POI","name_ru":"Russian name of the POI","name_zh":"Chinese name of the POI","network":"For rail stations, the network(s) that the station serves. Useful for icon styling","osm_id":"Unique OSM ID number","ref":"Short reference code, if any","scalerank":"Number. 1-4. Useful for styling icon sizes and minimum zoom levels","type":"The original OSM tag value","website":"URL of the POI"},"id":"poi_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: motorway, motorway_link, main, street, street_limited, service, driveway, path","len":"Number. Length of the road segment in Mercator meters","localrank":"Number. Used for shield points only. Priority relative to nearby shields. Useful for limiting shield density","name":"Local name of the road","name_de":"German name of the road","name_en":"English name of the road","name_es":"Spanish name of the road","name_fr":"French name of the road","name_ru":"Russian name of the road","name_zh":"Chinese name of the road","osm_id":"Unique OSM ID number","ref":"Route number of the road","reflen":"Number. How many characters long the ref tag is. Useful for shield styling","shield":"The shield style to use. One of: default, mx-federal, mx-state, us-highway, us-highway-alternate, us-highway-business, us-highway-duplex, us-interstate, us-interstate-business, us-interstate-duplex, us-interstate-truck, us-state"},"id":"road_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent","name":"Local name of the waterway","name_de":"German name of the waterway","name_en":"English name of the waterway","name_es":"Spanish name of the waterway","name_fr":"French name of the waterway","name_ru":"Russian name of the waterway","name_zh":"Chinese name of the waterway","osm_id":"Unique OSM ID number","type":"One of: river, canal, stream"},"id":"waterway_label","source":"mapbox.mapbox-streets-v6"},{"description":"","fields":{"house_num":"House number","osm_id":"Unique OSM ID number"},"id":"housenum_label","source":"mapbox.mapbox-streets-v6"}]}
diff --git a/test/fixtures/resources/source_raster.json b/test/fixtures/resources/source_raster.json
index 2ef5ded027..edbdba32d9 100644
--- a/test/fixtures/resources/source_raster.json
+++ b/test/fixtures/resources/source_raster.json
@@ -1 +1 @@
-{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a> <a href=\"https://www.digitalglobe.com/\" target=\"_blank\">&copy; DigitalGlobe</a>","autoscale":true,"bounds":[-180,-85,180,85],"cacheControl":"max-age=43200,s-maxage=604800","center":[0,0,3],"created":1358310600000,"description":"","id":"mapbox.satellite","maxzoom":22,"minzoom":0,"modified":1446150592060,"name":"Mapbox Satellite","private":false,"scheme":"xyz","tilejson":"2.0.0","tiles":["https://a.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.png?access_token=pk.accesstoken","https://b.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.png?access_token=pk.accesstoken"],"webpage":"https://a.tiles.mapbox.com/v4/mapbox.satellite/page.html?access_token=pk.accesstoken"} \ No newline at end of file
+{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://apps.mapbox.com/feedback/\" target=\"_blank\">Improve this map</a> <a href=\"https://www.digitalglobe.com/\" target=\"_blank\">&copy; DigitalGlobe</a>","autoscale":true,"bounds":[-180,-85,180,85],"cacheControl":"max-age=43200,s-maxage=604800","center":[0,0,3],"created":1358310600000,"description":"","id":"mapbox.satellite","maxzoom":22,"minzoom":0,"modified":1446150592060,"name":"Mapbox Satellite","private":false,"scheme":"xyz","tilejson":"2.0.0","tiles":["https://a.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.png?access_token=pk.accesstoken","https://b.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.png?access_token=pk.accesstoken"],"webpage":"https://a.tiles.mapbox.com/v4/mapbox.satellite/page.html?access_token=pk.accesstoken"} \ No newline at end of file
diff --git a/test/fixtures/resources/source_vector.json b/test/fixtures/resources/source_vector.json
index 2cbbc5fd94..b93763897e 100644
--- a/test/fixtures/resources/source_vector.json
+++ b/test/fixtures/resources/source_vector.json
@@ -1 +1 @@
-{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a>","bounds":[-180,-85.0511,180,85.0511],"center":[0,0,0],"created":1451865600000,"description":"","filesize":0,"fillzoom":8,"format":"pbf","id":"mapbox.mapbox-streets-v7","maxzoom":16,"minzoom":0,"name":"Mapbox Streets v7","private":false,"scheme":"xyz","tilejson":"2.0.0","tiles":["https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/{z}/{x}/{y}.vector.pbf?access_token=pk.accesstoken","https://b.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/{z}/{x}/{y}.vector.pbf?access_token=pk.accesstoken"],"vector_layers":[{"description":"","fields":{"class":"One of: agriculture, cemetery, glacier, grass, hospital, industrial, park, parking, piste, pitch, rock, sand, school, scrub, wood, aboriginal lands","type":"OSM tag, more specific than class"},"id":"landuse","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent, ditch, drain","type":"One of: river, canal, stream, ditch, drain"},"id":"waterway","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{},"id":"water","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"type":"One of: runway, taxiway, apron"},"id":"aeroway","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: fence, hedge, cliff, gate"},"id":"barrier_line","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"underground":"Text. Whether building is underground. One of: 'true', 'false'"},"id":"building","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: national_park, wetland, wetland_noveg","type":"OSM tag, more specific than class"},"id":"landuse_overlay","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: 'motorway', 'motorway_link', 'trunk', 'primary', 'secondary', 'tertiary', 'link', 'street', 'street_limited', 'pedestrian', 'construction', 'track', 'service', 'ferry', 'path', 'golf'","layer":"Number. Specifies z-ordering in the case of overlapping road segments. Common range is -5 to 5. Available from zoom level 13+.","oneway":"Text. Whether traffic on the road is one-way. One of: 'true', 'false'","structure":"Text. One of: 'none', 'bridge', 'tunnel', 'ford'. Available from zoom level 13+.","type":"In most cases, values will be that of the primary key from OpenStreetMap tags."},"id":"road","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"admin_level":"The OSM administrative level of the boundary","disputed":"Number. Disputed boundaries are 1, all others are 0.","iso_3166_1":"The ISO 3166-1 alpha-2 code(s) of the state(s) a boundary is part of. Format: 'AA' or 'AA-BB'","maritime":"Number. Maritime boundaries are 1, all others are 0."},"id":"admin","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"code":"ISO 3166-1 Alpha-2 code","name":"Local name of the country","name_de":"German name of the country","name_en":"English name of the country","name_es":"Spanish name of the country","name_fr":"French name of the country","name_ru":"Russian name of the country","name_zh":"Chinese name of the country","parent":"ISO 3166-1 Alpha-2 code of the administering/parent state, if any","scalerank":"Number, 1-6. Useful for styling text sizes.","type":"One of: country, territory, disputed territory, sar"},"id":"country_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"labelrank":"Number, 1-6. Useful for styling text sizes.","name":"Local or international name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","placement":"One of: point, line"},"id":"marine_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"abbr":"Abbreviated state name","area":"The area of the state in kilometers²","name":"Local name of the state","name_de":"German name of the state","name_en":"English name of the state","name_es":"Spanish name of the state","name_fr":"French name of the state","name_ru":"Russian name of the state","name_zh":"Chinese name of the state"},"id":"state_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"capital":"Admin level the city is a capital of, if any. One of: 2, 3, 4, 5, 6, null","ldir":"A hint for label placement at low zoom levels. One of: N, E, S, W, NE, SE, SW, NW, null","localrank":"Number. Priority relative to nearby places. Useful for limiting label density.","name":"Local name of the place","name_de":"German name of the place","name_en":"English name of the place","name_es":"Spanish name of the place","name_fr":"French name of the place","name_ru":"Russian name of the place","name_zh":"Chinese name of the place","scalerank":"Number, 0-9 or null. Useful for styling text & marker sizes.","type":"One of: city, town, village, hamlet, suburb, neighbourhood, island, islet, archipelago, residential, aboriginal_lands"},"id":"place_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"area":"The area of the water polygon in Mercator meters²","name":"Local name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body"},"id":"water_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"maki":"One of: airport, airfield, heliport, rocket","name":"Local name of the airport","name_de":"German name of the airport","name_en":"English name of the airport","name_es":"Spanish name of the airport","name_fr":"French name of the airport","name_ru":"Russian name of the airport","name_zh":"Chinese name of the airport","ref":"A 3-4 character IATA, FAA, ICAO, or other reference code","scalerank":"Number 1-4. Useful for styling icon sizes."},"id":"airport_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"maki":"One of: rail, rail-metro, rail-light, entrance","name":"Local name of the station","name_de":"German name of the station","name_en":"English name of the station","name_es":"Spanish name of the station","name_fr":"French name of the station","name_ru":"Russian name of the station","name_zh":"Chinese name of the station","network":"The network(s) that the station serves. Useful for icon styling."},"id":"rail_station_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"elevation_ft":"Integer elevation in feet","elevation_m":"Integer elevation in meters","maki":"One of: 'mountain', 'volcano'","name":"Local name of the peak","name_de":"German name of the peak","name_en":"English name of the peak","name_es":"Spanish name of the peak","name_fr":"French name of the peak","name_ru":"Russian name of the peak","name_zh":"Chinese name of the peak"},"id":"mountain_peak_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"localrank":"Number. Priority relative to nearby POIs. Useful for limiting label density.","maki":"The name of the Maki icon that should be used for the POI","name":"Local name of the POI","name_de":"German name of the POI","name_en":"English name of the POI","name_es":"Spanish name of the POI","name_fr":"French name of the POI","name_ru":"Russian name of the POI","name_zh":"Chinese name of the POI","ref":"Short reference code, if any","scalerank":"Number. 1-5. Useful for styling icon sizes and minimum zoom levels.","type":"The original OSM tag value"},"id":"poi_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"The class of road the junction is on. Matches the classes in the road layer.","name":"A longer name","ref":"A short identifier","reflen":"The number of characters in the ref field.","type":"The type of road the junction is on. Matches the types in the road layer."},"id":"motorway_junction","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: motorway, motorway_link, 'trunk', 'primary', 'secondary', 'tertiary', 'link', 'street', 'street_limited', 'pedestrian', 'construction', 'track', 'service', 'ferry', 'path', 'golf'","iso_3166_2":"Text. The ISO 3166-2 code of the state/province/region the road is in.","len":"Number. Approximate length of the road segment in Mercator meters.","localrank":"Number. Used for shield points only. Priority relative to nearby shields. Useful for limiting shield density.","name":"Local name of the road","name_de":"German name of the road","name_en":"English name of the road","name_es":"Spanish name of the road","name_fr":"French name of the road","name_ru":"Russian name of the road","name_zh":"Chinese name of the road","ref":"Route number of the road","reflen":"Number. How many characters long the ref tag is. Useful for shield styling.","shield":"The shield style to use. One of: default, mx-federal, mx-state, us-highway, us-highway-alternate, us-highway-business, us-highway-duplex, us-interstate, us-interstate-business, us-interstate-duplex, us-interstate-truck, us-state"},"id":"road_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent","name":"Local name of the waterway","name_de":"German name of the waterway","name_en":"English name of the waterway","name_es":"Spanish name of the waterway","name_fr":"French name of the waterway","name_ru":"Russian name of the waterway","name_zh":"Chinese name of the waterway","type":"One of: river, canal, stream"},"id":"waterway_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"house_num":"House number"},"id":"housenum_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"}],"webpage":"https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/page.html?access_token=pk.accesstoken"} \ No newline at end of file
+{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox</a> <a href=\"http://www.openstreetmap.org/about/\" target=\"_blank\">&copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://apps.mapbox.com/feedback/\" target=\"_blank\">Improve this map</a>","bounds":[-180,-85.0511,180,85.0511],"center":[0,0,0],"created":1451865600000,"description":"","filesize":0,"fillzoom":8,"format":"pbf","id":"mapbox.mapbox-streets-v7","maxzoom":16,"minzoom":0,"name":"Mapbox Streets v7","private":false,"scheme":"xyz","tilejson":"2.0.0","tiles":["https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/{z}/{x}/{y}.vector.pbf?access_token=pk.accesstoken","https://b.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/{z}/{x}/{y}.vector.pbf?access_token=pk.accesstoken"],"vector_layers":[{"description":"","fields":{"class":"One of: agriculture, cemetery, glacier, grass, hospital, industrial, park, parking, piste, pitch, rock, sand, school, scrub, wood, aboriginal lands","type":"OSM tag, more specific than class"},"id":"landuse","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent, ditch, drain","type":"One of: river, canal, stream, ditch, drain"},"id":"waterway","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{},"id":"water","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"type":"One of: runway, taxiway, apron"},"id":"aeroway","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: fence, hedge, cliff, gate"},"id":"barrier_line","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"underground":"Text. Whether building is underground. One of: 'true', 'false'"},"id":"building","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: national_park, wetland, wetland_noveg","type":"OSM tag, more specific than class"},"id":"landuse_overlay","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: 'motorway', 'motorway_link', 'trunk', 'primary', 'secondary', 'tertiary', 'link', 'street', 'street_limited', 'pedestrian', 'construction', 'track', 'service', 'ferry', 'path', 'golf'","layer":"Number. Specifies z-ordering in the case of overlapping road segments. Common range is -5 to 5. Available from zoom level 13+.","oneway":"Text. Whether traffic on the road is one-way. One of: 'true', 'false'","structure":"Text. One of: 'none', 'bridge', 'tunnel', 'ford'. Available from zoom level 13+.","type":"In most cases, values will be that of the primary key from OpenStreetMap tags."},"id":"road","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"admin_level":"The OSM administrative level of the boundary","disputed":"Number. Disputed boundaries are 1, all others are 0.","iso_3166_1":"The ISO 3166-1 alpha-2 code(s) of the state(s) a boundary is part of. Format: 'AA' or 'AA-BB'","maritime":"Number. Maritime boundaries are 1, all others are 0."},"id":"admin","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"code":"ISO 3166-1 Alpha-2 code","name":"Local name of the country","name_de":"German name of the country","name_en":"English name of the country","name_es":"Spanish name of the country","name_fr":"French name of the country","name_ru":"Russian name of the country","name_zh":"Chinese name of the country","parent":"ISO 3166-1 Alpha-2 code of the administering/parent state, if any","scalerank":"Number, 1-6. Useful for styling text sizes.","type":"One of: country, territory, disputed territory, sar"},"id":"country_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"labelrank":"Number, 1-6. Useful for styling text sizes.","name":"Local or international name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body","placement":"One of: point, line"},"id":"marine_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"abbr":"Abbreviated state name","area":"The area of the state in kilometers²","name":"Local name of the state","name_de":"German name of the state","name_en":"English name of the state","name_es":"Spanish name of the state","name_fr":"French name of the state","name_ru":"Russian name of the state","name_zh":"Chinese name of the state"},"id":"state_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"capital":"Admin level the city is a capital of, if any. One of: 2, 3, 4, 5, 6, null","ldir":"A hint for label placement at low zoom levels. One of: N, E, S, W, NE, SE, SW, NW, null","localrank":"Number. Priority relative to nearby places. Useful for limiting label density.","name":"Local name of the place","name_de":"German name of the place","name_en":"English name of the place","name_es":"Spanish name of the place","name_fr":"French name of the place","name_ru":"Russian name of the place","name_zh":"Chinese name of the place","scalerank":"Number, 0-9 or null. Useful for styling text & marker sizes.","type":"One of: city, town, village, hamlet, suburb, neighbourhood, island, islet, archipelago, residential, aboriginal_lands"},"id":"place_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"area":"The area of the water polygon in Mercator meters²","name":"Local name of the water body","name_de":"German name of the water body","name_en":"English name of the water body","name_es":"Spanish name of the water body","name_fr":"French name of the water body","name_ru":"Russian name of the water body","name_zh":"Chinese name of the water body"},"id":"water_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"maki":"One of: airport, airfield, heliport, rocket","name":"Local name of the airport","name_de":"German name of the airport","name_en":"English name of the airport","name_es":"Spanish name of the airport","name_fr":"French name of the airport","name_ru":"Russian name of the airport","name_zh":"Chinese name of the airport","ref":"A 3-4 character IATA, FAA, ICAO, or other reference code","scalerank":"Number 1-4. Useful for styling icon sizes."},"id":"airport_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"maki":"One of: rail, rail-metro, rail-light, entrance","name":"Local name of the station","name_de":"German name of the station","name_en":"English name of the station","name_es":"Spanish name of the station","name_fr":"French name of the station","name_ru":"Russian name of the station","name_zh":"Chinese name of the station","network":"The network(s) that the station serves. Useful for icon styling."},"id":"rail_station_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"elevation_ft":"Integer elevation in feet","elevation_m":"Integer elevation in meters","maki":"One of: 'mountain', 'volcano'","name":"Local name of the peak","name_de":"German name of the peak","name_en":"English name of the peak","name_es":"Spanish name of the peak","name_fr":"French name of the peak","name_ru":"Russian name of the peak","name_zh":"Chinese name of the peak"},"id":"mountain_peak_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"localrank":"Number. Priority relative to nearby POIs. Useful for limiting label density.","maki":"The name of the Maki icon that should be used for the POI","name":"Local name of the POI","name_de":"German name of the POI","name_en":"English name of the POI","name_es":"Spanish name of the POI","name_fr":"French name of the POI","name_ru":"Russian name of the POI","name_zh":"Chinese name of the POI","ref":"Short reference code, if any","scalerank":"Number. 1-5. Useful for styling icon sizes and minimum zoom levels.","type":"The original OSM tag value"},"id":"poi_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"The class of road the junction is on. Matches the classes in the road layer.","name":"A longer name","ref":"A short identifier","reflen":"The number of characters in the ref field.","type":"The type of road the junction is on. Matches the types in the road layer."},"id":"motorway_junction","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: motorway, motorway_link, 'trunk', 'primary', 'secondary', 'tertiary', 'link', 'street', 'street_limited', 'pedestrian', 'construction', 'track', 'service', 'ferry', 'path', 'golf'","iso_3166_2":"Text. The ISO 3166-2 code of the state/province/region the road is in.","len":"Number. Approximate length of the road segment in Mercator meters.","localrank":"Number. Used for shield points only. Priority relative to nearby shields. Useful for limiting shield density.","name":"Local name of the road","name_de":"German name of the road","name_en":"English name of the road","name_es":"Spanish name of the road","name_fr":"French name of the road","name_ru":"Russian name of the road","name_zh":"Chinese name of the road","ref":"Route number of the road","reflen":"Number. How many characters long the ref tag is. Useful for shield styling.","shield":"The shield style to use. One of: default, mx-federal, mx-state, us-highway, us-highway-alternate, us-highway-business, us-highway-duplex, us-interstate, us-interstate-business, us-interstate-duplex, us-interstate-truck, us-state"},"id":"road_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"class":"One of: river, canal, stream, stream_intermittent","name":"Local name of the waterway","name_de":"German name of the waterway","name_en":"English name of the waterway","name_es":"Spanish name of the waterway","name_fr":"French name of the waterway","name_ru":"Russian name of the waterway","name_zh":"Chinese name of the waterway","type":"One of: river, canal, stream"},"id":"waterway_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"},{"description":"","fields":{"house_num":"House number"},"id":"housenum_label","source":"mapbox.mapbox-streets-v7","source_name":"Mapbox Streets V7"}],"webpage":"https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/page.html?access_token=pk.accesstoken"} \ No newline at end of file