diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,7 +46,7 @@ android:label="@string/app_name" android:networkSecurityConfig="@xml/networks_security_config" android:roundIcon="@mipmap/ic_launcher_round" - android:theme="@style/AppTheme.NoActionBar"> + android:theme="@style/AppThemeDayNight.NoActionBar"> + android:theme="@style/AppThemeDayNight.NoActionBar"> diff --git a/app/src/main/assets/versatiles_eclipse_modif.json b/app/src/main/assets/versatiles_eclipse_modif.json new file mode 100644 --- /dev/null +++ b/app/src/main/assets/versatiles_eclipse_modif.json @@ -0,0 +1,6266 @@ +{ + "version": 8, + "name": "versatiles-eclipse", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/", + "maputnik:renderer": "mlgljs" + }, + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": ["https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}"], + "type": "vector", + "scheme": "xyz", + "bounds": [-180, -85.0511287798066, 180, 85.0511287798066], + "minzoom": 0, + "maxzoom": 14 + } + }, + "sprite": [ + { + "id": "basics", + "url": "https://tiles.versatiles.org/assets/sprites/basics/sprites" + } + ], + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "hsl(33,48%,5%)"} + }, + { + "id": "water-ocean", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "ocean", + "paint": {"fill-color": "hsl(205,69%,15%)"} + }, + { + "id": "land-glacier", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["all", ["==", "kind", "glacier"]], + "paint": {"fill-color": "hsl(0,0%,0%)"} + }, + { + "id": "land-commercial", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "commercial", "retail"]], + "paint": { + "fill-color": "hsla(324,61%,8%,0.251)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-industrial", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "industrial", "quarry", "railway"]], + "paint": { + "fill-color": "hsla(49,100%,12%,0.333)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-residential", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "garages", "residential"]], + "paint": { + "fill-color": "hsla(33,18%,10%,0.2)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-agriculture", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + [ + "in", + "kind", + "brownfield", + "farmland", + "farmyard", + "greenfield", + "greenhouse_horticulture", + "orchard", + "plant_nursery", + "vineyard" + ] + ], + "paint": { + "fill-color": "hsl(43,51%,12%)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-waste", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "landfill"]], + "paint": { + "fill-color": "hsl(50,29%,20%)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-park", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "park", "village_green", "recreation_ground"] + ], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-garden", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "allotments", "garden"]], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-burial", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "cemetery", "grave_yard"]], + "paint": { + "fill-color": "hsl(54,22%,17%)", + "fill-opacity": {"stops": [[13, 0], [14, 1]]} + } + }, + { + "id": "land-leisure", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "miniature_golf", "playground", "golf_course"] + ], + "paint": {"fill-color": "hsl(84,29%,10%)"} + }, + { + "id": "land-rock", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "bare_rock", "scree", "shingle"]], + "paint": {"fill-color": "hsl(192,9%,11%)"} + }, + { + "id": "land-forest", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "forest"]], + "paint": { + "fill-color": "hsl(100,43%,53%)", + "fill-opacity": {"stops": [[7, 0], [8, 0.1]]} + } + }, + { + "id": "land-grass", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "grass", "grassland", "meadow", "wet_meadow"] + ], + "paint": { + "fill-color": "hsl(90,41%,15%)", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-vegetation", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "heath", "scrub"]], + "paint": { + "fill-color": "hsl(60,41%,25%)", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-sand", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "beach", "sand"]], + "paint": {"fill-color": "hsl(60,57%,5%)"} + }, + { + "id": "land-wetland", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "bog", "marsh", "string_bog", "swamp"]], + "paint": {"fill-color": "hsl(145,28%,14%)"} + }, + { + "id": "water-river", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "river"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { + "stops": [[9, 0], [10, 3], [15, 5], [17, 9], [18, 20], [20, 60]] + } + } + }, + { + "id": "water-canal", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "canal"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { + "stops": [[9, 0], [10, 2], [15, 4], [17, 8], [18, 17], [20, 50]] + } + } + }, + { + "id": "water-stream", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "stream"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": { + "stops": [[13, 0], [14, 1], [15, 2], [17, 6], [18, 12], [20, 30]] + } + } + }, + { + "id": "water-ditch", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "ditch"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(205,69%,15%)", + "line-width": {"stops": [[14, 0], [15, 1], [17, 4], [18, 8], [20, 20]]} + } + }, + { + "id": "water-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["==", "kind", "water"], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": {"stops": [[4, 0], [6, 1]]} + } + }, + { + "id": "water-area-river", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["==", "kind", "river"], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": {"stops": [[4, 0], [6, 1]]} + } + }, + { + "id": "water-area-small", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["in", "kind", "reservoir", "basin", "dock"], + "paint": { + "fill-color": "hsl(205,69%,15%)", + "fill-opacity": {"stops": [[4, 0], [6, 1]]} + } + }, + { + "id": "water-dam-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "dam_polygons", + "filter": ["==", "kind", "dam"], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "water-dam", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "dam_lines", + "filter": ["==", "kind", "dam"], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": {"line-color": "hsl(205,69%,15%)"} + }, + { + "id": "water-pier-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "pier_polygons", + "filter": ["in", "kind", "pier", "breakwater", "groyne"], + "paint": { + "fill-color": "hsl(33,48%,5%)", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "water-pier", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "pier_lines", + "filter": ["in", "kind", "pier", "breakwater", "groyne"], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": {"line-color": "hsl(33,48%,5%)"} + }, + { + "id": "site-dangerarea", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "danger_area"], + "paint": { + "fill-color": "hsl(0,100%,50%)", + "fill-outline-color": "hsl(0,100%,50%)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "id": "site-university", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "university"], + "paint": {"fill-color": "hsl(60,100%,25%)", "fill-opacity": 0.1} + }, + { + "id": "site-college", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "college"], + "paint": {"fill-color": "hsl(60,100%,25%)", "fill-opacity": 0.1} + }, + { + "id": "site-school", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "school"], + "paint": {"fill-color": "hsl(60,100%,25%)", "fill-opacity": 0.1} + }, + { + "id": "site-hospital", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "hospital"], + "paint": {"fill-color": "hsl(0,100%,30%)", "fill-opacity": 0.1} + }, + { + "id": "site-prison", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "prison"], + "paint": { + "fill-color": "hsl(305,73%,3%)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "id": "site-parking", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "parking"], + "paint": {"fill-color": "hsl(24,11%,9%)"} + }, + { + "id": "site-bicycleparking", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "bicycle_parking"], + "paint": {"fill-color": "hsl(24,11%,9%)"} + }, + { + "id": "site-construction", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "construction"], + "paint": { + "fill-color": "hsl(0,0%,34%)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "id": "airport-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": ["in", "kind", "runway", "taxiway"], + "paint": {"fill-color": "hsl(0,0%,0%)", "fill-opacity": 0.5} + }, + { + "id": "airport-taxiway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "taxiway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[13, 0], [14, 2], [15, 10], [16, 14], [18, 20], [20, 40]] + } + } + }, + { + "id": "airport-runway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "runway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [ + [11, 0], + [12, 6], + [13, 9], + [14, 16], + [15, 24], + [16, 40], + [17, 100], + [18, 160], + [20, 300] + ] + } + } + }, + { + "id": "airport-taxiway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "taxiway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[13, 0], [14, 1], [15, 8], [16, 12], [18, 18], [20, 36]] + }, + "line-opacity": {"stops": [[13, 0], [14, 1]]} + } + }, + { + "id": "airport-runway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "runway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [ + [11, 0], + [12, 5], + [13, 8], + [14, 14], + [15, 22], + [16, 38], + [17, 98], + [18, 158], + [20, 298] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "building:outline", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,11%,14%)", + "fill-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "building", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "buildings", + "paint": { + "fill-color": "hsl(30,38%,8%)", + "fill-opacity": {"stops": [[14, 0], [15, 1]]}, + "fill-translate": [-2, -2] + } + }, + { + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": ["all", ["==", "tunnel", true], ["==", "kind", "pedestrian"]], + "paint": { + "fill-color": "rgb(8,8,8)", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-way-footway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "hsl(288,13%,14%)" + } + }, + { + "id": "tunnel-way-steps:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "hsl(288,13%,14%)" + } + }, + { + "id": "tunnel-way-path:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "path"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "hsl(288,13%,14%)" + } + }, + { + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "hsl(203,11%,13%)" + } + }, + { + "id": "tunnel-street-track:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(33,33,33)", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(33,33,33)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(33,33,33)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-residential:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(33,33,33)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(33,33,33)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-busway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "busway"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "tunnel-street-busguideway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "bus_guideway"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(33,33,33)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(33,33,33)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [[11, 2], [14, 5], [16, 8], [18, 30], [19, 68], [20, 138]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "tunnel-street-primary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "tunnel-street-trunk:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [6, 0], + [7, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "tunnel-street-motorway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(129,71,21)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + } + }, + { + "id": "tunnel-way-footway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "hsl(288,33%,6%)", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-way-steps", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "hsl(288,33%,6%)", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-way-path", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "path"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "hsl(288,33%,6%)", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-way-cycleway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "hsl(203,30%,5%)", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-street-track", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-street-pedestrian", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "tunnel-street-livingstreet", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-residential", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-unclassified", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-busway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "busway"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "tunnel-street-busguideway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "bus_guideway"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "tunnel-street-track-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "rgb(8,8,8)"} + }, + { + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-service-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "rgb(8,8,8)"} + }, + { + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-tertiary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(77,61,0)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-primary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(77,61,0)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-trunk-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(77,61,0)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-motorway-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(107,61,0)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-tertiary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(77,61,0)", + "line-width": { + "stops": [[11, 1], [14, 4], [16, 6], [18, 28], [19, 64], [20, 130]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "tunnel-street-primary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(77,61,0)", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "tunnel-street-trunk", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(77,61,0)", + "line-width": { + "stops": [ + [6, 0], + [7, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[6, 0], [7, 1]]} + } + }, + { + "id": "tunnel-street-motorway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(107,61,0)", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": {"stops": [[5, 0], [6, 1]]} + } + }, + { + "id": "tunnel-transport-tram:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-subway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 0.5]]} + } + }, + { + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 8, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[8, 1], [13, 1], [15, 1], [20, 14]]}, + "line-opacity": {"stops": [[11, 0], [12, 0.5]]} + } + }, + { + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[14, 0], [15, 1], [16, 1], [20, 14]]} + } + }, + { + "id": "tunnel-transport-rail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 8, + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[8, 1], [13, 1], [15, 1], [20, 14]]}, + "line-opacity": {"stops": [[8, 0], [9, 0.3]]} + } + }, + { + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[14, 0], [15, 1], [16, 1], [20, 14]]} + } + }, + { + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["in", "kind", "monorail"], ["==", "tunnel", true]], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["in", "kind", "funicular"], ["==", "tunnel", true]], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-tram", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "tunnel-transport-subway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(42,55,67)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-transport-lightrail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[14, 0], [15, 1], [20, 10]]}, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[15, 0], [16, 1], [20, 10]]}, + "line-dasharray": [2, 2] + } + }, + { + "id": "tunnel-transport-rail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[14, 0], [15, 1], [20, 10]]}, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 0.3]]} + } + }, + { + "id": "tunnel-transport-rail-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[15, 0], [16, 1], [20, 10]]}, + "line-dasharray": [2, 2] + } + }, + { + "id": "tunnel-transport-monorail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": ["all", ["in", "kind", "monorail"], ["==", "tunnel", true]], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "tunnel-transport-funicular", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": ["all", ["in", "kind", "funicular"], ["==", "tunnel", true]], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "bridge", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(22,17,11)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "id": "street-pedestrian-zone", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["==", "kind", "pedestrian"] + ], + "paint": { + "fill-color": "rgba(16,0,20,0.25)", + "fill-opacity": {"stops": [[12, 0], [13, 1], [14, 0], [15, 1]]} + } + }, + { + "id": "way-footway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "footway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(40,26,44)" + } + }, + { + "id": "way-steps:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "steps"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(40,26,44)" + } + }, + { + "id": "way-path:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "path"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(40,26,44)" + } + }, + { + "id": "way-cycleway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "cycleway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(26,34,40)" + } + }, + { + "id": "street-track:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "street-pedestrian:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "street-livingstreet:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-residential:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-unclassified:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-busway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "busway"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "street-busguideway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "bus_guideway"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "street-tertiary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-primary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-trunk-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-motorway-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-tertiary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(36,5%,20%)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [[11, 2], [14, 5], [16, 8], [18, 30], [19, 68], [20, 138]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "street-primary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "street-trunk:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [ + [6, 0], + [7, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "street-motorway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + } + }, + { + "id": "way-footway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "footway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "rgb(16,0,20)" + } + }, + { + "id": "way-steps", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "steps"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "rgb(16,0,20)" + } + }, + { + "id": "way-path", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "path"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "rgb(16,0,20)" + } + }, + { + "id": "way-cycleway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "cycleway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "hsl(203,100%,3%)" + } + }, + { + "id": "street-track", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "street-pedestrian", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(288,100%,4%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 0], [14, 1]]} + } + }, + { + "id": "street-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "street-livingstreet", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-residential", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-unclassified", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-busway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "busway"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "street-busguideway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "bus_guideway"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "street-track-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "hsl(0,0%,0%)"} + }, + { + "id": "street-pedestrian-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-service-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "hsl(0,0%,0%)"} + }, + { + "id": "street-livingstreet-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-residential-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-unclassified-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-tertiary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-primary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-trunk-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-motorway-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-tertiary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { + "stops": [[11, 1], [14, 4], [16, 6], [18, 28], [19, 64], [20, 130]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "street-primary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "street-trunk", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { + "stops": [ + [6, 0], + [7, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[6, 0], [7, 1]]} + } + }, + { + "id": "street-motorway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": {"stops": [[5, 0], [6, 1]]} + } + }, + { + "id": "transport-tram:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-narrowgauge:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-subway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "transport-lightrail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 8, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[8, 1], [13, 1], [15, 1], [20, 14]]}, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "transport-lightrail-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[14, 0], [15, 1], [16, 1], [20, 14]]} + } + }, + { + "id": "transport-rail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 8, + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[8, 1], [13, 1], [15, 1], [20, 14]]}, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "transport-rail-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[14, 0], [15, 1], [16, 1], [20, 14]]} + } + }, + { + "id": "transport-monorail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-funicular:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-tram", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "transport-narrowgauge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "transport-subway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(42,55,67)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "transport-lightrail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[14, 0], [15, 1], [20, 10]]}, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "transport-lightrail-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[15, 0], [16, 1], [20, 10]]}, + "line-dasharray": [2, 2] + } + }, + { + "id": "transport-rail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[14, 0], [15, 1], [20, 10]]}, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "transport-rail-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[15, 0], [16, 1], [20, 10]]}, + "line-dasharray": [2, 2] + } + }, + { + "id": "transport-monorail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "transport-funicular", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "transport-ferry", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(36,64,84)", + "line-width": {"stops": [[10, 1], [13, 2], [14, 3], [16, 4], [17, 6]]}, + "line-opacity": {"stops": [[10, 0], [11, 1]]}, + "line-dasharray": [1, 1] + } + }, + { + "id": "bridge-way-footway:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[15, 0], [16, 7], [18, 10], [19, 17], [20, 31]] + } + } + }, + { + "id": "bridge-way-steps:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[15, 0], [16, 7], [18, 10], [19, 17], [20, 31]] + } + } + }, + { + "id": "bridge-way-path:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[15, 0], [16, 7], [18, 10], [19, 17], [20, 31]] + } + } + }, + { + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[15, 0], [16, 7], [18, 10], [19, 17], [20, 31]] + } + } + }, + { + "id": "bridge-street-track:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[14, 0], [15, 1]]}, + "line-width": { + "stops": [[14, 3], [16, 6], [18, 25], [19, 67], [20, 134]] + } + } + }, + { + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[12, 0], [13, 1]]}, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 8], [18, 36], [19, 90], [20, 179]] + } + } + }, + { + "id": "bridge-street-service:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "bridge", true]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[14, 0], [15, 1]]}, + "line-width": { + "stops": [[14, 3], [16, 6], [18, 25], [19, 67], [20, 134]] + } + } + }, + { + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[12, 0], [13, 1]]}, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 8], [18, 36], [19, 90], [20, 179]] + } + } + }, + { + "id": "bridge-street-residential:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[12, 0], [13, 1]]}, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 8], [18, 36], [19, 90], [20, 179]] + } + } + }, + { + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[12, 0], [13, 1]]}, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 8], [18, 36], [19, 90], [20, 179]] + } + } + }, + { + "id": "bridge-street-busway:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "busway"], ["==", "bridge", true]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": {"line-color": "rgb(22,17,11)", "line-opacity": 0.5} + }, + { + "id": "bridge-street-busguideway:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "bus_guideway"], ["==", "bridge", true]], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": {"line-color": "rgb(22,17,11)", "line-opacity": 0.5} + }, + { + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[12, 0], [13, 1]]}, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 8], [18, 36], [19, 90], [20, 179]] + } + } + }, + { + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 10], [18, 20], [20, 56]] + } + } + }, + { + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 10], [18, 20], [20, 56]] + } + } + }, + { + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 10], [18, 20], [20, 56]] + } + } + }, + { + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 10], [18, 20], [20, 56]] + } + } + }, + { + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[12, 0], [13, 1]]}, + "line-width": { + "stops": [[12, 3], [14, 4], [16, 8], [18, 36], [19, 90], [20, 179]] + } + } + }, + { + "id": "bridge-street-secondary:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": {"stops": [[11, 0], [12, 1]]}, + "line-width": { + "stops": [[11, 3], [14, 7], [16, 11], [18, 42], [19, 95], [20, 193]] + } + } + }, + { + "id": "bridge-street-primary:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 6], + [14, 8], + [16, 17], + [18, 50], + [19, 104], + [20, 202] + ] + } + } + }, + { + "id": "bridge-street-trunk:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [7, 0], + [8, 3], + [10, 6], + [14, 8], + [16, 17], + [18, 50], + [19, 104], + [20, 202] + ] + } + } + }, + { + "id": "bridge-street-motorway:bridge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-cap": "butt", "line-join": "round"}, + "paint": { + "line-color": "rgb(22,17,11)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [5, 0], + [6, 3], + [10, 7], + [14, 7], + [16, 20], + [18, 53], + [19, 118], + [20, 235] + ] + } + } + }, + { + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": ["all", ["==", "bridge", true], ["==", "kind", "pedestrian"]], + "paint": { + "fill-color": "hsl(0,0%,0%)", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-way-footway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(40,26,44)" + } + }, + { + "id": "bridge-way-steps:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(40,26,44)" + } + }, + { + "id": "bridge-way-path:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(40,26,44)" + } + }, + { + "id": "bridge-way-cycleway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "rgb(26,34,40)" + } + }, + { + "id": "bridge-street-track:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(38,38,38)", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(38,38,38)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(38,38,38)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-residential:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(38,38,38)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-unclassified:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(38,38,38)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-busway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "busway"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "bridge-street-busguideway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "bus_guideway"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(37,36,34)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 12], [19, 32], [20, 48]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(38,38,38)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-primary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-tertiary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(38,38,38)", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [[11, 2], [14, 5], [16, 8], [18, 30], [19, 68], [20, 138]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-street-primary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "bridge-street-trunk:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [ + [6, 0], + [7, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "bridge-street-motorway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(28,72%,31%)", + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + } + }, + { + "id": "bridge-way-footway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "rgb(16,0,20)" + } + }, + { + "id": "bridge-way-steps", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "rgb(16,0,20)" + } + }, + { + "id": "bridge-way-path", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "rgb(16,0,20)" + } + }, + { + "id": "bridge-way-cycleway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "hsl(203,100%,3%)" + } + }, + { + "id": "bridge-street-track", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-street-pedestrian", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "bridge-street-livingstreet", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-residential", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-unclassified", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-busway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "busway"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "bridge-street-busguideway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "bus_guideway"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "rgb(8,8,8)", + "line-width": { + "stops": [[14, 1], [16, 2], [18, 10], [19, 28], [20, 40]] + }, + "line-opacity": {"stops": [[15, 0], [16, 1]]} + } + }, + { + "id": "bridge-street-track-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": {"line-color": "hsl(0,0%,0%)"} + }, + { + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-service-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": {"line-color": "hsl(0,0%,0%)"} + }, + { + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-residential-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "hsl(203,100%,3%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-tertiary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-primary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-trunk-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-motorway-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-tertiary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(0,0%,0%)", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { + "stops": [[11, 1], [14, 4], [16, 6], [18, 28], [19, 64], [20, 130]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-street-primary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "bridge-street-trunk", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(48,100%,17%)", + "line-width": { + "stops": [ + [6, 0], + [7, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[6, 0], [7, 1]]} + } + }, + { + "id": "bridge-street-motorway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "hsl(34,100%,23%)", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": {"stops": [[5, 0], [6, 1]]} + } + }, + { + "id": "bridge-transport-tram:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-subway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "hsl(207,23%,28%)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 8, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[8, 1], [13, 1], [15, 1], [20, 14]]}, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[14, 0], [15, 1], [16, 1], [20, 14]]} + } + }, + { + "id": "bridge-transport-rail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 8, + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[8, 1], [13, 1], [15, 1], [20, 14]]}, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[14, 0], [15, 1], [16, 1], [20, 14]]} + } + }, + { + "id": "bridge-transport-monorail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["in", "kind", "monorail"], ["==", "bridge", true]], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-funicular:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["in", "kind", "funicular"], ["==", "bridge", true]], + "paint": { + "line-color": "hsl(208,14%,27%)", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-tram", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "bridge-transport-narrowgauge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "bridge-transport-subway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(42,55,67)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-transport-lightrail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[14, 0], [15, 1], [20, 10]]}, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-transport-lightrail-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[15, 0], [16, 1], [20, 10]]}, + "line-dasharray": [2, 2] + } + }, + { + "id": "bridge-transport-rail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[14, 0], [15, 1], [20, 10]]}, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-transport-rail-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(44,52,59)", + "line-width": {"stops": [[15, 0], [16, 1], [20, 10]]}, + "line-dasharray": [2, 2] + } + }, + { + "id": "bridge-transport-monorail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": ["all", ["in", "kind", "monorail"], ["==", "bridge", true]], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "bridge-transport-funicular", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": ["all", ["in", "kind", "funicular"], ["==", "bridge", true]], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "hsl(208,14%,27%)" + } + }, + { + "id": "poi-amenity", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "amenity"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "amenity"], + "arts_centre", + "basics:icon-art_gallery", + "atm", + "basics:icon-atm", + "bank", + "basics:icon-bank", + "bar", + "basics:icon-bar", + "bench", + "basics:icon-bench", + "bicycle_rental", + "basics:icon-bicycle_share", + "biergarten", + "basics:icon-beergarden", + "cafe", + "basics:icon-cafe", + "car_rental", + "basics:icon-car_rental", + "car_sharing", + "basics:icon-car_rental", + "car_wash", + "basics:icon-car_wash", + "cinema", + "basics:icon-cinema", + "college", + "basics:icon-college", + "community_centre", + "basics:icon-community", + "dentist", + "basics:icon-dentist", + "doctors", + "basics:icon-doctor", + "dog_park", + "basics:icon-dog_park", + "drinking_water", + "basics:icon-drinking_water", + "embassy", + "basics:icon-embassy", + "fast_food", + "basics:icon-fast_food", + "fire_station", + "basics:icon-fire_station", + "fountain", + "basics:icon-fountain", + "grave_yard", + "basics:icon-cemetery", + "hospital", + "basics:icon-hospital", + "hunting_stand", + "basics:icon-huntingstand", + "library", + "basics:icon-library", + "marketplace", + "basics:icon-marketplace", + "nightclub", + "basics:icon-nightclub", + "nursing_home", + "basics:icon-nursinghome", + "pharmacy", + "basics:icon-pharmacy", + "place_of_worship", + "basics:icon-place_of_worship", + "playground", + "basics:icon-playground", + "police", + "basics:icon-police", + "post_box", + "basics:icon-postbox", + "post_office", + "basics:icon-post", + "prison", + "basics:icon-prison", + "pub", + "basics:icon-beer", + "recycling", + "basics:icon-recycling", + "restaurant", + "basics:icon-restaurant", + "school", + "basics:icon-school", + "shelter", + "basics:icon-shelter", + "telephone", + "basics:icon-telephone", + "theatre", + "basics:icon-theatre", + "toilets", + "basics:icon-toilet", + "townhall", + "basics:icon-town_hall", + "vending_machine", + "basics:icon-vendingmachine", + "veterinary", + "basics:icon-veterinary", + "waste_basket", + "basics:icon-waste_basket", + "" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-leisure", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "leisure"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "leisure"], + "golf_course", + "basics:icon-golf", + "ice_rink", + "basics:icon-icerink", + "pitch", + "basics:icon-pitch", + "stadium", + "basics:icon-stadium", + "swimming_pool", + "basics:icon-swimming", + "water_park", + "basics:icon-waterpark", + "basics:icon-sports" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-tourism", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "tourism"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "tourism"], + "chalet", + "basics:icon-chalet", + "information", + "basics:transport-information", + "picnic_site", + "basics:icon-picnic_site", + "viewpoint", + "basics:icon-viewpoint", + "zoo", + "basics:icon-zoo", + "" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-shop", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "shop"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "shop"], + "alcohol", + "basics:icon-alcohol_shop", + "bakery", + "basics:icon-bakery", + "beauty", + "basics:icon-beauty", + "beverages", + "basics:icon-beverages", + "books", + "basics:icon-books", + "butcher", + "basics:icon-butcher", + "chemist", + "basics:icon-chemist", + "clothes", + "basics:icon-clothes", + "doityourself", + "basics:icon-doityourself", + "dry_cleaning", + "basics:icon-drycleaning", + "florist", + "basics:icon-florist", + "furniture", + "basics:icon-furniture", + "garden_centre", + "basics:icon-garden_centre", + "general", + "basics:icon-shop", + "gift", + "basics:icon-gift", + "greengrocer", + "basics:icon-greengrocer", + "hairdresser", + "basics:icon-hairdresser", + "hardware", + "basics:icon-hardware", + "jewelry", + "basics:icon-jewelry_store", + "kiosk", + "basics:icon-kiosk", + "laundry", + "basics:icon-laundry", + "newsagent", + "basics:icon-newsagent", + "optican", + "basics:icon-optician", + "outdoor", + "basics:icon-outdoor", + "shoes", + "basics:icon-shoes", + "sports", + "basics:icon-sports", + "stationery", + "basics:icon-stationery", + "toys", + "basics:icon-toys", + "travel_agency", + "basics:icon-travel_agent", + "video", + "basics:icon-video", + "basics:icon-shop" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-man_made", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "man_made"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "man_made"], + "lighthouse", + "basics:icon-lighthouse", + "surveillance", + "basics:icon-surveillance", + "tower", + "basics:icon-observation_tower", + "watermill", + "basics:icon-watermill", + "windmill", + "basics:icon-windmill", + "" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-historic", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "historic"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "historic"], + "artwork", + "basics:icon-artwork", + "castle", + "basics:icon-castle", + "monument", + "basics:icon-monument", + "wayside_shrine", + "basics:icon-shrine", + "basics:icon-historic" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-emergency", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "emergency"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "emergency"], + "defibrillator", + "basics:icon-defibrillator", + "fire_hydrant", + "basics:icon-hydrant", + "phone", + "basics:icon-emergency_phone", + "" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-highway", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "highway"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "poi-office", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "office"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "hsl(0,0%,67%)", + "text-color": "hsl(0,0%,67%)" + } + }, + { + "id": "boundary-country:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "rgb(16,11,6)", + "line-blur": 1, + "line-width": {"stops": [[2, 0], [3, 2], [10, 8]]}, + "line-opacity": 0.75 + } + }, + { + "id": "boundary-country-disputed:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["==", "disputed", true], + ["!=", "maritime", true], + ["!=", "coastline", true] + ], + "paint": { + "line-width": {"stops": [[2, 0], [3, 2], [10, 8]]}, + "line-opacity": 0.75, + "line-color": "rgb(16,11,6)" + } + }, + { + "id": "boundary-state:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 4], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "rgb(15,11,5)", + "line-blur": 1, + "line-width": {"stops": [[7, 0], [8, 2], [10, 4]]}, + "line-opacity": 0.75 + } + }, + { + "id": "boundary-country", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": {"stops": [[2, 0], [3, 1], [10, 4]]} + } + }, + { + "id": "boundary-country-disputed", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["==", "disputed", true], + ["!=", "maritime", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "square"}, + "paint": { + "line-width": {"stops": [[2, 0], [3, 1], [10, 4]]}, + "line-color": "hsl(246,17%,23%)", + "line-dasharray": [2, 1] + } + }, + { + "id": "boundary-state", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 4], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(240,24%,28%)", + "line-width": {"stops": [[7, 0], [8, 1], [10, 2]]} + } + }, + { + "id": "label-address-housenumber", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "addresses", + "minzoom": 17, + "filter": ["has", "housenumber"], + "layout": { + "text-field": "{housenumber}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": {"stops": [[17, 8], [19, 10]]} + }, + "paint": { + "icon-color": "rgb(95,88,81)", + "text-color": "rgb(95,88,81)", + "text-halo-color": "rgb(23,17,10)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-motorway-shield", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 14, + "filter": ["==", "kind", "motorway"], + "layout": { + "text-field": "{ref}", + "text-font": ["noto_sans_bold"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[14, 10], [18, 12], [20, 16]]} + }, + "paint": { + "icon-color": "hsl(0,0%,0%)", + "text-color": "hsl(0,0%,0%)", + "text-halo-color": "hsl(34,100%,23%)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-pedestrian", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "pedestrian"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-livingstreet", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "living_street"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-residential", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "residential"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-unclassified", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "unclassified"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-tertiary", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "tertiary"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-secondary", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "secondary"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-primary", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "primary"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-trunk", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "trunk"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-track", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "track"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-neighbourhood", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 14, + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[14, 12]]}, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(182,209,215)", + "text-color": "rgb(182,209,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-quarter", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 13, + "filter": ["==", "kind", "quarter"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[13, 13]]}, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(182,204,215)", + "text-color": "rgb(182,204,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-suburb", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 11, + "filter": ["==", "kind", "suburb"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[11, 11], [13, 14]]}, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(182,198,215)", + "text-color": "rgb(182,198,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-hamlet", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 13, + "filter": ["==", "kind", "hamlet"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[10, 11], [12, 14]]} + }, + "paint": { + "icon-color": "rgb(182,190,215)", + "text-color": "rgb(182,190,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-village", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 11, + "filter": ["==", "kind", "village"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[9, 11], [12, 14]]} + }, + "paint": { + "icon-color": "rgb(182,190,215)", + "text-color": "rgb(182,190,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-town", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 9, + "filter": ["==", "kind", "town"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[8, 11], [12, 14]]} + }, + "paint": { + "icon-color": "rgb(182,190,215)", + "text-color": "rgb(182,190,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-state", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 5, + "filter": ["in", "admin_level", 4, "4"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[5, 8], [8, 12]]} + }, + "paint": { + "icon-color": "rgb(178,178,194)", + "text-color": "rgb(178,178,194)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-city", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 7, + "filter": ["==", "kind", "city"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[7, 11], [10, 14]]} + }, + "paint": { + "icon-color": "rgb(182,190,215)", + "text-color": "rgb(182,190,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-statecapital", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 6, + "filter": ["==", "kind", "state_capital"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[6, 11], [10, 15]]} + }, + "paint": { + "icon-color": "rgb(182,190,215)", + "text-color": "rgb(182,190,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-capital", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 5, + "filter": ["==", "kind", "capital"], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "symbol-sort-key": ["-", ["to-number", ["get", "population"], 0]], + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[5, 12], [10, 16]]} + }, + "paint": { + "icon-color": "rgb(182,190,215)", + "text-color": "rgb(182,190,215)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-country-small", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 4, + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + ["<=", "way_area", 10000000] + ], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[4, 8], [5, 11]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-country-medium", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 3, + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + ["<", "way_area", 90000000], + [">", "way_area", 10000000] + ], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[3, 8], [5, 12]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-country-large", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 2, + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + [">=", "way_area", 90000000] + ], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[2, 8], [5, 13]]} + }, + "paint": { + "icon-color": "hsl(240,14%,77%)", + "text-color": "hsl(240,14%,77%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "marking-oneway", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 16, + "filter": [ + "all", + ["==", "oneway", true], + [ + "in", + "kind", + "trunk", + "primary", + "secondary", + "tertiary", + "unclassified", + "residential", + "living_street" + ] + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4], [20, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4], [20, 0.4]]} + } + }, + { + "id": "marking-oneway-reverse", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 16, + "filter": [ + "all", + ["==", "oneway_reverse", true], + [ + "in", + "kind", + "trunk", + "primary", + "secondary", + "tertiary", + "unclassified", + "residential", + "living_street" + ] + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4], [20, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4], [20, 0.4]]} + } + }, + { + "id": "symbol-transit-station", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "station", "halt"], + ["!in", "station", "light_rail", "subway"] + ], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "icon-size": {"stops": [[13, 0.5], [15, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-airfield", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 13, + "filter": ["all", ["==", "kind", "aerodrome"], ["!has", "iata"]], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "icon-size": {"stops": [[13, 0.5], [15, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-airport", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 12, + "filter": ["all", ["==", "kind", "aerodrome"], ["has", "iata"]], + "layout": { + "text-field": [ + "coalesce", + ["get", "name"], + ["get", "name_en"], + ["get", "name_de"] + ], + "icon-size": {"stops": [[12, 0.5], [14, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "hsl(270,4%,60%)", + "text-color": "hsl(270,4%,60%)", + "text-halo-color": "hsla(0,0%,0%,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + } + ], + "id": "80klscq" +} \ No newline at end of file diff --git a/app/src/main/java/it/reyboz/bustorino/ActivityIntro.kt b/app/src/main/java/it/reyboz/bustorino/ActivityIntro.kt --- a/app/src/main/java/it/reyboz/bustorino/ActivityIntro.kt +++ b/app/src/main/java/it/reyboz/bustorino/ActivityIntro.kt @@ -32,8 +32,6 @@ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_intro) - //check default settings and apply them - checkApplyDefaultSettingsValues() viewPager = findViewById(R.id.viewPager) btnBackward = findViewById(R.id.btnPrevious) btnForward = findViewById(R.id.btnNext) diff --git a/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java b/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java --- a/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java +++ b/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java @@ -33,6 +33,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.widget.Toolbar; import androidx.core.graphics.Insets; import androidx.core.view.*; @@ -49,6 +50,7 @@ import java.util.Arrays; import java.util.Map; +import java.util.Objects; import java.util.concurrent.LinkedBlockingDeque; import java.util.function.Consumer; @@ -72,6 +74,7 @@ private final static String TAG_FAVORITES="favorites_frag"; private Snackbar snackbar; + private ServiceAlertsViewModel serviceAlertsViewModel; //private FragmentKind showingFragmentKind; @@ -116,6 +119,8 @@ } }; + + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -123,10 +128,6 @@ setContentView(R.layout.activity_principal); serviceAlertsViewModel = new ViewModelProvider(this).get(ServiceAlertsViewModel.class); //Use LiveModel to sync fragment state - /*if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - getWindow().setNavigationBarContrastEnforced(false); - } - */ //onBackPressed solution required from Android 16 backPressedCallback.setEnabled(true); @@ -282,8 +283,8 @@ } //boolean onCreateComplete = true; - //last but not least, set the good default values - checkApplyDefaultSettingsValues(); + //default values are set in the BustoApp + //checkApplyDefaultSettingsValues(); // handle the device "insets" /* ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.rootRelativeLayout), (v, windowInsets) -> { diff --git a/app/src/main/java/it/reyboz/bustorino/BustoApp.java b/app/src/main/java/it/reyboz/bustorino/BustoApp.java --- a/app/src/main/java/it/reyboz/bustorino/BustoApp.java +++ b/app/src/main/java/it/reyboz/bustorino/BustoApp.java @@ -19,7 +19,13 @@ import android.content.Context; +import android.content.SharedPreferences; +import androidx.appcompat.app.AppCompatDelegate; import androidx.multidex.MultiDexApplication; +import androidx.preference.PreferenceManager; +import it.reyboz.bustorino.backend.utils; +import it.reyboz.bustorino.data.PreferencesHolder; +import it.reyboz.bustorino.fragments.SettingsFragment; import org.acra.ACRA; import org.acra.BuildConfig; import org.acra.ReportField; @@ -29,8 +35,7 @@ import org.acra.data.StringFormat; import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import static org.acra.ReportField.*; @@ -41,6 +46,7 @@ IS_SILENT, STACK_TRACE, INITIAL_CONFIGURATION, CRASH_CONFIGURATION, DISPLAY, USER_COMMENT, USER_APP_START_DATE, USER_CRASH_DATE, LOGCAT, SHARED_PREFERENCES); + @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); @@ -72,4 +78,62 @@ } + @Override + public void onCreate() { + super.onCreate(); + checkApplyDefaultSettingsValues(); + + var dayorNight = PreferencesHolder.getAppThemeDayNight(this); + AppCompatDelegate.setDefaultNightMode(dayorNight); + + } + + /** + * Adjust setting to match the default ones + */ + protected void checkApplyDefaultSettingsValues(){ + SharedPreferences mainSharedPref = PreferenceManager.getDefaultSharedPreferences(this); + SharedPreferences.Editor editor = mainSharedPref.edit(); + boolean edit = false; + + //Day or night theme + var str = mainSharedPref.getString(PreferencesHolder.PREF_THEME_DAY_NIGHT, ""); + if(str.isEmpty()){ + editor.putString(PreferencesHolder.PREF_THEME_DAY_NIGHT, "system"); + edit = true; + } + + //Main fragment to show + String screen = mainSharedPref.getString(SettingsFragment.PREF_KEY_STARTUP_SCREEN, ""); + if (screen.isEmpty()){ + editor.putString(SettingsFragment.PREF_KEY_STARTUP_SCREEN, "arrivals"); + edit=true; + } + //Fetchers + final Set setSelected = mainSharedPref.getStringSet(SettingsFragment.KEY_ARRIVALS_FETCHERS_USE, new HashSet<>()); + if (setSelected.isEmpty()){ + String[] defaultVals = getResources().getStringArray(R.array.arrivals_sources_values_default); + editor.putStringSet(SettingsFragment.KEY_ARRIVALS_FETCHERS_USE, utils.convertArrayToSet(defaultVals)); + edit=true; + } + //Live bus positions + final String keySourcePositions=getString(R.string.pref_positions_source); + final String positionsSource = mainSharedPref.getString(keySourcePositions, ""); + if(positionsSource.isEmpty()){ + String[] defaultVals = getResources().getStringArray(R.array.positions_source_values); + editor.putString(keySourcePositions, defaultVals[0]); + edit=true; + } + //Map style + final String mapStylePref = mainSharedPref.getString(SettingsFragment.LIBREMAP_STYLE_PREF_KEY, ""); + if(mapStylePref.isEmpty()){ + final String[] defaultVals = getResources().getStringArray(R.array.map_style_pref_values); + editor.putString(SettingsFragment.LIBREMAP_STYLE_PREF_KEY, defaultVals[0]); + edit=true; + } + if (edit){ + editor.apply(); + } + + } } diff --git a/app/src/main/java/it/reyboz/bustorino/adapters/ArrivalsStopAdapter.java b/app/src/main/java/it/reyboz/bustorino/adapters/ArrivalsStopAdapter.java --- a/app/src/main/java/it/reyboz/bustorino/adapters/ArrivalsStopAdapter.java +++ b/app/src/main/java/it/reyboz/bustorino/adapters/ArrivalsStopAdapter.java @@ -19,7 +19,6 @@ import android.content.Context; import android.content.SharedPreferences; -import android.location.Location; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.util.Pair; @@ -39,7 +38,7 @@ import java.util.*; public class ArrivalsStopAdapter extends RecyclerView.Adapter implements SharedPreferences.OnSharedPreferenceChangeListener { - private final static int layoutRes = R.layout.arrivals_nearby_card; + private final static int layoutRes = R.layout.item_arrivals_nearby_card; //private List stops; private @NonNull GPSPoint userPosition; private FragmentListenerMain listener; @@ -51,7 +50,7 @@ private NameCapitalize capit; - public ArrivalsStopAdapter(@Nullable List< RouteWithStop > routesPairList, FragmentListenerMain fragmentListener, Context con, @NonNull GPSPoint pos) { + public ArrivalsStopAdapter(@Nullable List< RouteWithStop > routesPairList,@NonNull FragmentListenerMain fragmentListener, @NonNull Context con, @NonNull GPSPoint pos) { listener = fragmentListener; userPosition = pos; this.routesPairList = routesPairList; diff --git a/app/src/main/java/it/reyboz/bustorino/adapters/PalinaAdapter.java b/app/src/main/java/it/reyboz/bustorino/adapters/PalinaAdapter.java --- a/app/src/main/java/it/reyboz/bustorino/adapters/PalinaAdapter.java +++ b/app/src/main/java/it/reyboz/bustorino/adapters/PalinaAdapter.java @@ -19,6 +19,8 @@ import android.content.Context; import android.content.res.Resources; +import android.graphics.drawable.Drawable; +import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.cardview.widget.CardView; import androidx.core.content.res.ResourcesCompat; @@ -63,9 +65,9 @@ private static final int busBg = R.drawable.route_background_bus; private static final int extraurbanoBg = R.drawable.route_background_bus_long_distance; - private static final int busIcon = R.drawable.bus; - private static final int trainIcon = R.drawable.subway; - private static final int tramIcon = R.drawable.tram; + private static final int busIcon = R.drawable.ic_bus; + private static final int trainIcon = R.drawable.ic_subway_filled; + private static final int tramIcon = R.drawable.ic_tram_filled_24; private final String KEY_CAPITALIZE; private Capitalize capit; @@ -123,7 +125,8 @@ } vh.rowRouteDestination.setText(dest); } - + Drawable drawable = null; + final var resources = con.getResources(); switch (route.type) { //UNKNOWN = BUS for the moment case UNKNOWN: @@ -131,28 +134,36 @@ default: // convertView could contain another background, reset it //vh.rowStopIcon.setBackgroundResource(busBg); - - vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(busIcon, 0, 0, 0); + //drawable = ResourcesCompat.getDrawable(con.getResources(), busIcon, con.getTheme()); + //vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(busIcon, 0, 0, 0); + vh.busIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, busIcon, con.getTheme())); break; case LONG_DISTANCE_BUS: //vh.rowStopIcon.setBackgroundResource(extraurbanoBg); vh.routeCard.setCardBackgroundColor(ResourcesCompat.getColor(res, R.color.extraurban_bus_bg, null)); - vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(busIcon, 0, 0, 0); + vh.busIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, extraurbanoBg, con.getTheme())); break; case METRO: //vh.rowStopIcon.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14); //vh.rowStopIcon.setBackgroundResource(metroBg); vh.routeIDTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14); vh.routeCard.setCardBackgroundColor(ResourcesCompat.getColor(res, R.color.metro_bg, null)); - vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(trainIcon, 0, 0, 0); + // vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(trainIcon, 0, 0, 0); + vh.busIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, trainIcon, con.getTheme())); break; case RAILWAY: //vh.rowStopIcon.setBackgroundResource(busBg); - vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(trainIcon, 0, 0, 0); + //vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(trainIcon, 0, 0, 0); + vh.busIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, trainIcon, con.getTheme())); break; case TRAM: // never used but whatever. //vh.rowStopIcon.setBackgroundResource(busBg); - vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(tramIcon, 0, 0, 0); + drawable = ResourcesCompat.getDrawable(resources, trainIcon, con.getTheme()); + assert drawable != null; + drawable.setTint(resources.getColor(R.color.black_icon_text, con.getTheme()) ); + //vh.rowRouteDestination.setCompoundDrawablesWithIntrinsicBounds(tramIcon, 0, 0, 0); + vh.busIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, tramIcon, con.getTheme())); + break; } @@ -181,19 +192,15 @@ final CardView routeCard; final TextView rowRouteDestination; final TextView rowRouteTimetable; + final ImageView busIcon; public PalinaViewHolder(@NonNull @NotNull View view) { super(view); - /* - convertView.findViewById(R.id.routeID); - vh.rowRouteDestination = (TextView) convertView.findViewById(R.id.routeDestination); - vh.rowRouteTimetable = (TextView) convertView.findViewById(R.id.routesThatStopHere); - */ - //rowStopIcon = view.findViewById(R.id.routeID); routeIDTextView = view.findViewById(R.id.routeNameTextView); routeCard = view.findViewById(R.id.routeCard); rowRouteDestination = view.findViewById(R.id.routeDestination); rowRouteTimetable = view.findViewById(R.id.routesThatStopHere); + busIcon = view.findViewById(R.id.arrivalsBusIcon); } } private static Capitalize getCapitalize(SharedPreferences shPr, String key){ diff --git a/app/src/main/java/it/reyboz/bustorino/adapters/SquareStopAdapter.java b/app/src/main/java/it/reyboz/bustorino/adapters/SquareStopAdapter.java --- a/app/src/main/java/it/reyboz/bustorino/adapters/SquareStopAdapter.java +++ b/app/src/main/java/it/reyboz/bustorino/adapters/SquareStopAdapter.java @@ -17,7 +17,6 @@ */ package it.reyboz.bustorino.adapters; -import android.location.Location; import androidx.annotation.Nullable; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.RecyclerView; @@ -28,7 +27,6 @@ import android.widget.TextView; import it.reyboz.bustorino.R; import it.reyboz.bustorino.backend.GPSPoint; -import it.reyboz.bustorino.backend.RouteWithStop; import it.reyboz.bustorino.backend.Stop; import it.reyboz.bustorino.util.StopSorterByDistance; import it.reyboz.bustorino.fragments.FragmentListenerMain; @@ -37,7 +35,7 @@ import java.util.List; public class SquareStopAdapter extends RecyclerView.Adapter { - private final static int layoutRes = R.layout.stop_card; + private final static int layoutRes = R.layout.item_stop_nearby_card; //private List stops; private @Nullable GPSPoint userPosition; private FragmentListenerMain listener; diff --git a/app/src/main/java/it/reyboz/bustorino/adapters/StopAdapter.java b/app/src/main/java/it/reyboz/bustorino/adapters/StopAdapter.java --- a/app/src/main/java/it/reyboz/bustorino/adapters/StopAdapter.java +++ b/app/src/main/java/it/reyboz/bustorino/adapters/StopAdapter.java @@ -18,6 +18,7 @@ package it.reyboz.bustorino.adapters; import android.content.Context; +import android.widget.ImageView; import androidx.annotation.NonNull; import android.view.LayoutInflater; import android.view.View; @@ -36,18 +37,25 @@ public class StopAdapter extends ArrayAdapter { private LayoutInflater li; private static final int row_layout = R.layout.entry_bus_stop; - private static final int busIcon = R.drawable.bus; - private static final int trainIcon = R.drawable.subway; - private static final int tramIcon = R.drawable.tram; + private static final int busIcon = R.drawable.ic_bus; + private static final int trainIcon = R.drawable.ic_subway_filled; + private static final int tramIcon = R.drawable.ic_tram_filled_24; private static final int cityIcon = R.drawable.city; private static class ViewHolder { - TextView busStopIDTextView; - TextView busStopNameTextView; + final TextView busStopIDTextView; + final TextView busStopNameTextView; //TextView busLineVehicleIcon; - TextView busStopLinesTextView; - TextView busStopLocaLityTextView; + final TextView busStopLinesTextView; + final TextView busStopLocaLityTextView; + + ViewHolder(View view) { + busStopIDTextView = view.findViewById(R.id.busStopID); + busStopNameTextView = view.findViewById(R.id.busStopName); + busStopLinesTextView = view.findViewById(R.id.routesThatStopHere); + busStopLocaLityTextView = view.findViewById(R.id.busStopLocality); + } } public StopAdapter(Context context, List stops) { @@ -62,11 +70,7 @@ if(convertView == null) { convertView = li.inflate(row_layout, null); - vh = new ViewHolder(); - vh.busStopIDTextView = (TextView) convertView.findViewById(R.id.busStopID); - vh.busStopNameTextView = (TextView) convertView.findViewById(R.id.busStopName); - vh.busStopLinesTextView = (TextView) convertView.findViewById(R.id.routesThatStopHere); - vh.busStopLocaLityTextView = (TextView) convertView.findViewById(R.id.busStopLocality); + vh = new ViewHolder(convertView); convertView.setTag(vh); } else { vh = (ViewHolder) convertView.getTag(); @@ -85,8 +89,10 @@ vh.busStopLinesTextView.setVisibility(View.VISIBLE); // might be GONE due to View Holder Pattern } + /* + // DEPRECATED CODE: ALWAYS USE BUS STOP ICON if(stop.type == null) { - vh.busStopLinesTextView.setCompoundDrawablesWithIntrinsicBounds(busIcon, 0, 0, 0); + //vh.busStopLinesTextView.setCompoundDrawablesWithIntrinsicBounds(busIcon, 0, 0, 0); } else { switch(stop.type) { case BUS: @@ -106,6 +112,8 @@ } } + */ + if (stop.location == null) { vh.busStopLocaLityTextView.setVisibility(View.GONE); } else { diff --git a/app/src/main/java/it/reyboz/bustorino/adapters/StopRecyclerAdapter.java b/app/src/main/java/it/reyboz/bustorino/adapters/StopRecyclerAdapter.java --- a/app/src/main/java/it/reyboz/bustorino/adapters/StopRecyclerAdapter.java +++ b/app/src/main/java/it/reyboz/bustorino/adapters/StopRecyclerAdapter.java @@ -37,9 +37,9 @@ private List stops; private static final int ITEM_LAYOUT_FAVORITES = R.layout.entry_bus_stop; private static final int ITEM_LAYOUT_LINES = R.layout.stop_line_element; - private static final int busIcon = R.drawable.bus; - private static final int trainIcon = R.drawable.subway; - private static final int tramIcon = R.drawable.tram; + private static final int busIcon = R.drawable.ic_bus; + private static final int trainIcon = R.drawable.ic_subway_filled; + private static final int tramIcon = R.drawable.ic_tram_filled_24; private static final int cityIcon = R.drawable.city; private NameCapitalize capitalizeLocation = NameCapitalize.DO_NOTHING; @@ -174,6 +174,8 @@ vh.busStopLinesTextView.setText(whatStopsHere); vh.busStopLinesTextView.setVisibility(View.VISIBLE); // might be GONE due to View Holder Pattern } + /* + //This is deprecated, always showing a bus if(stop.type == null) { vh.busStopLinesTextView.setCompoundDrawablesWithIntrinsicBounds(busIcon, 0, 0, 0); @@ -196,6 +198,8 @@ } } + */ + if (stop.location == null || stop.location.toLowerCase(Locale.ROOT).equals("null")) { vh.busStopLocaLityTextView.setVisibility(View.GONE); } else { diff --git a/app/src/main/java/it/reyboz/bustorino/backend/KotlinUtils.kt b/app/src/main/java/it/reyboz/bustorino/backend/KotlinUtils.kt new file mode 100644 --- /dev/null +++ b/app/src/main/java/it/reyboz/bustorino/backend/KotlinUtils.kt @@ -0,0 +1,13 @@ +package it.reyboz.bustorino.backend + +import android.content.Context +import android.content.res.Configuration + +object KotlinUtils { + + @JvmStatic + fun isDarkTheme(context: Context): Boolean { + val uiMode = context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK + return uiMode == Configuration.UI_MODE_NIGHT_YES + } +} \ No newline at end of file diff --git a/app/src/main/java/it/reyboz/bustorino/backend/VehicleUtils.kt b/app/src/main/java/it/reyboz/bustorino/backend/VehicleUtils.kt --- a/app/src/main/java/it/reyboz/bustorino/backend/VehicleUtils.kt +++ b/app/src/main/java/it/reyboz/bustorino/backend/VehicleUtils.kt @@ -17,39 +17,41 @@ } object VehicleUtils { - private val items = listOf( - VehicleClassInfo(2800, "Arancio", "Tram", 2801, 2857), - VehicleClassInfo(2800, "Arancio", "Tram", 2858, 2902), - VehicleClassInfo(5000, "5000", "Tram", 5000, 5053), - VehicleClassInfo(6000, "6000", "Tram", 6000, 6005), - VehicleClassInfo(6000, "6000", "Tram", 6006, 6054), - VehicleClassInfo(8000, "Hitachi", "Tram", 8000, 8099), - VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 790, 797), - VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 800, 869), - VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 870, 874), - VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 1310, 1313), - VehicleClassInfo(1350, "Conecto 18m", "Bus 18m", 1350, 1396), - VehicleClassInfo(9300, "UrbanWay 18m", "Bus 18m", 9300, 9318), - VehicleClassInfo(9300, "UrbanWay 18m", "Bus 18m", 9320, 9356), - VehicleClassInfo(30, "BYD K9", "E-Bus", 30, 49), + val items = listOf( + VehicleClassInfo(30, "BYD K9UB", "E-Bus", 30, 49), VehicleClassInfo(50, "BYD K7", "E-Bus", 50, 57), - VehicleClassInfo(60, "MiniBusE", "E-Bus", 60, 81), - VehicleClassInfo(110, "Neocity", "Bus", 110, 115), - VehicleClassInfo(2300, "Cityclass", "Bus", 2300, 2349), - VehicleClassInfo(3400, "Conecto", "Bus", 2400, 2447), - VehicleClassInfo(2300, "Cityclass", "Bus", 2700, 2787), - VehicleClassInfo(3000, "Citelis", "Bus", 3000, 3099), - VehicleClassInfo(3000, "Citelis", "Bus", 3300, 3380), - VehicleClassInfo(3400, "Conecto", "Bus", 3400, 3440), - VehicleClassInfo(9000, "BYD K9", "E-Bus", 9000, 9059), - VehicleClassInfo(9000, "BYD K9", "E-Bus", 9060, 9119), - VehicleClassInfo(9000, "BYD K9", "E-Bus", 9120, 9121), - VehicleClassInfo(9200, "Citymood", "Bus", 9200, 9251), - VehicleClassInfo(9200, "Citymood", "Bus", 9252, 9261), + VehicleClassInfo(60, "Indcar BlueBus", "E-Bus", 60, 88), + VehicleClassInfo(110, "BMC Neocity", "Bus", 110, 115), + VehicleClassInfo(800, "Irisbus Citelis", "Bus 18m", 790, 797), + VehicleClassInfo(800, "Irisbus Citelis", "Bus 18m", 800, 869), + VehicleClassInfo(800, "Irisbus Citelis", "Bus 18m", 870, 874), + VehicleClassInfo(800, "Irisbus Citelis CNG", "Bus 18m", 1310, 1313), + VehicleClassInfo(1350, "Mercedes Conecto G", "Bus 18m", 1350, 1396), + VehicleClassInfo(2300, "Irisbus CityClass", "Bus", 2300, 2349), + VehicleClassInfo(3400, "Mercedes Conecto", "Bus", 2400, 2447), + VehicleClassInfo(2300, "Irisbus CityClass", "Bus", 2700, 2787), + VehicleClassInfo(2800, "2800 (prima serie)", "Tram", 2801, 2857), + VehicleClassInfo(2800, "2800 (seconda serie)", "Tram", 2858, 2902), + VehicleClassInfo(3000, "Irisbus Citelis", "Bus", 3000, 3099), + VehicleClassInfo(3000, "Irisbus Citelis", "Bus", 3300, 3380), + VehicleClassInfo(3400, "Mercedes Conecto", "Bus", 3400, 3440), + VehicleClassInfo(5000, "P.R. (5000)", "Tram", 5000, 5053), + VehicleClassInfo(6000, "CityWay (6000) monodir.", "Tram", 6000, 6005), + VehicleClassInfo(6000, "CityWay (6000) bidir.", "Tram", 6006, 6054), + VehicleClassInfo(8000, "Hitachi (8000)", "Tram", 8000, 8099), + VehicleClassInfo(9000, "BYD K9UB", "E-Bus", 9000, 9059), + VehicleClassInfo(9000, "BYD K9UB", "E-Bus", 9060, 9119), + VehicleClassInfo(9000, "BYD K9UB", "E-Bus", 9120, 9121), + VehicleClassInfo(9200, "Menarini Citymood", "Bus", 9200, 9251), + VehicleClassInfo(9200, "Menarini Citymood", "Bus", 9252, 9261), + VehicleClassInfo(9300, "Iveco Urbanway", "Bus 18m", 9300, 9318), + VehicleClassInfo(9300, "Iveco Urbanway", "Bus 18m", 9320, 9356), VehicleClassInfo(9400, "Iveco E-Way", "E-Bus", 9400, 9599), - VehicleClassInfo(9600, "Iveco E-Way 18m", "E-Bus", 9600, 9699) + VehicleClassInfo(9600, "Iveco E-Way 18m", "E-Bus", 9600, 9699), + VehicleClassInfo(9700, "Iveco E-Way 18m BRT", "E-Bus", 9700, 9799) ) + fun getTypeForLabel(label: String): VehicleClassInfo? { try { val matricola = Integer.parseInt(label) diff --git a/app/src/main/java/it/reyboz/bustorino/data/GtfsMaintenanceWorker.kt b/app/src/main/java/it/reyboz/bustorino/data/GtfsMaintenanceWorker.kt --- a/app/src/main/java/it/reyboz/bustorino/data/GtfsMaintenanceWorker.kt +++ b/app/src/main/java/it/reyboz/bustorino/data/GtfsMaintenanceWorker.kt @@ -32,7 +32,7 @@ val notification = NotificationCompat.Builder(context, Notifications.DB_UPDATE_CHANNELS_ID) //.setContentIntent(PendingIntent.getActivity(context, 0, Intent(context, MainActivity::class.java), Constants.PENDING_INTENT_FLAG_IMMUTABLE)) - .setSmallIcon(R.drawable.bus) + .setSmallIcon(R.drawable.ic_bus) .setOngoing(true) .setAutoCancel(true) .setOnlyAlertOnce(true) diff --git a/app/src/main/java/it/reyboz/bustorino/data/PreferencesHolder.java b/app/src/main/java/it/reyboz/bustorino/data/PreferencesHolder.java --- a/app/src/main/java/it/reyboz/bustorino/data/PreferencesHolder.java +++ b/app/src/main/java/it/reyboz/bustorino/data/PreferencesHolder.java @@ -20,11 +20,13 @@ import android.content.Context; import android.content.SharedPreferences; import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatDelegate; import it.reyboz.bustorino.R; import static android.content.Context.MODE_PRIVATE; import androidx.preference.PreferenceManager; +import it.reyboz.bustorino.backend.KotlinUtils; import it.reyboz.bustorino.fragments.SettingsFragment; import it.reyboz.bustorino.map.MapLibreUtils; @@ -42,6 +44,9 @@ public static final String DB_LAST_UPDATE_KEY = "NextGenDB.LastDBUpdate"; public static final String PREF_FAVORITE_LINES = "pref_favorite_lines"; + // match the one in preferences.xml + public static final String PREF_THEME_DAY_NIGHT = "app_theme_day_night"; + public static final Set KEYS_MERGE_SET = Set.of(PREF_FAVORITE_LINES); public static final Set IGNORE_KEYS_LOAD_MAIN = Set.of(PREF_GTFS_DB_VERSION, PREF_INTRO_ACTIVITY_RUN, DB_GTT_VERSION_KEY, DB_LAST_UPDATE_KEY); @@ -98,11 +103,31 @@ public static String getMapLibreStyleFile(Context con){ final SharedPreferences pref = getAppPreferences(con); final String mapStyle_val = pref.getString(SettingsFragment.LIBREMAP_STYLE_PREF_KEY, ""); - return switch (mapStyle_val) { + final boolean isNightMode = KotlinUtils.isDarkTheme(con); + String styleFile; + switch (mapStyle_val) { //MUST MATCH IN keys.xml -> map_style_pref_values - case "versatiles_c" -> MapLibreUtils.STYLE_VERSATILES_COLORFUL_JSON; - case "osm_legacy" -> MapLibreUtils.STYLE_OSM_RASTER; - default -> MapLibreUtils.getDefaultStyleJson(); + case "osm_legacy": + styleFile = MapLibreUtils.STYLE_OSM_RASTER; + break; + case "versatiles_c": + default: + styleFile = (isNightMode) ? MapLibreUtils.STYLE_VERSATILES_ECLIPSE_JSON : MapLibreUtils.STYLE_VERSATILES_COLORFUL_JSON; + } + return styleFile; + } + + public static Integer getAppThemeDayNight(Context context){ + final SharedPreferences pref = getAppPreferences(context); + final var value = pref.getString(PREF_THEME_DAY_NIGHT, ""); + return getAppThemeDayNight(value); + } + public static Integer getAppThemeDayNight(String prefValue){ + return switch (prefValue){ + case "day" -> AppCompatDelegate.MODE_NIGHT_NO; + case "night" -> AppCompatDelegate.MODE_NIGHT_YES; + case "system" -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM; + default -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM; }; } } diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt b/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt --- a/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt +++ b/app/src/main/java/it/reyboz/bustorino/fragments/GeneralMapLibreFragment.kt @@ -29,6 +29,7 @@ import android.location.LocationManager import android.os.Bundle import android.util.Log +import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -170,6 +171,7 @@ protected lateinit var stopNumberTextView: TextView protected lateinit var linesPassingTextView: TextView protected lateinit var extraBottomTextView: TextView + protected lateinit var linesBottomTextView: TextView protected lateinit var arrivalsCard: CardView protected lateinit var directionsCard: CardView protected lateinit var bottomrightImage: ImageView @@ -271,6 +273,8 @@ arrivalsCard = view.findViewById(R.id.arrivalsCardButton) directionsCard = view.findViewById(R.id.directionsCardButton) vehicleIcon = view.findViewById(R.id.vehicleIcon) + linesBottomTextView = view.findViewById(R.id.linesBottomTextView) + linesBottomTextView.text = getString(R.string.lines_fill, "") bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet) bottomSheetBehavior.state = BottomSheetBehavior.STATE_HIDDEN @@ -682,9 +686,11 @@ ResourcesCompat.getDrawable(resources, R.drawable.ic_magnifying_glass, activity?.theme) ) // if you change this, remember to change the color of the vehicleIcon - val colorBlue = ResourcesCompat.getColor(resources, R.color.blue_500, activity?.theme) + val colorBlue = ResourcesCompat.getColor(resources, R.color.bus_marker_color_selected, activity?.theme) ViewCompat.setBackgroundTintList(directionsCard, ColorStateList.valueOf(colorBlue)) linesPassingTextView.text = getString(R.string.vehicle_fill, data.posUpdate.vehicle) + linesPassingTextView.gravity = Gravity.CENTER_VERTICAL + linesBottomTextView.visibility = View.GONE arrivalsCard.visibility = View.GONE extraBottomTextView.text = getString(R.string.updated_fill, utils.unixTimestampToLocalTime(data.posUpdate.timestamp)) @@ -695,21 +701,21 @@ vehicleIcon.visibility = View.GONE } else{ val ico = when(vehInfo.type){ - VehicleUtils.VehicleType.BUS -> R.drawable.ic_bus_small - VehicleUtils.VehicleType.ELECTRIC_BUS -> R.drawable.ic_bus_electric_small - VehicleUtils.VehicleType.TRAM -> R.drawable.ic_tram_24 + VehicleUtils.VehicleType.BUS -> R.drawable.ic_bus + VehicleUtils.VehicleType.ELECTRIC_BUS -> R.drawable.ic_bus_electric_filled + VehicleUtils.VehicleType.TRAM -> R.drawable.ic_tram_material } vehicleIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, ico, activity?.theme)) vehicleIcon.visibility = View.VISIBLE vehicleIcon.setOnClickListener { - val print = "${vehInfo.type.getName()} ${vehInfo.name}" + val print = "${vehInfo.type.getName()}: ${vehInfo.name}" makeToast(print) } } } - vehShowing = null + vehShowing = veh bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED updatePositionsIcons(true) Log.d(DEBUG_TAG, "Shown vehicle $veh in bottom sheet") @@ -726,7 +732,11 @@ val isStarted = (lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED)) if(forced){ // if we're running a forced update, cancel the pending one - jobUpdate?.cancel() + jobUpdate?.apply{ + cancel() + //Log.d(DEBUG_TAG, "Cancelled update") + } + } else if (currentTime - lastUpdateTime < 100) { // Schedule delayed update @@ -734,8 +744,10 @@ jobUpdate?.cancel() jobUpdate = viewLifecycleOwner.lifecycleScope.launch { delay(100.milliseconds) + //Log.d(DEBUG_TAG, "Running update from delayed") updatePositionsIcons(false) } + //Log.d(DEBUG_TAG, "Cancelled previous job, delaying update") } return } @@ -763,6 +775,8 @@ // Separate selected vehicle from others if (vehShowing?.isNotEmpty() == true && vehShowing == dat.posUpdate.vehicle) { selectedBusFeatures.add(newFeature) + //Log.d(DEBUG_TAG, "Update position for bus $vehShowing") + //TODO: Recenter the map on the vehicle } else { busFeatures.add(newFeature) } @@ -849,9 +863,11 @@ stopTitleTextView.visibility = View.VISIBLE val string_show = if (stop.numRoutesStopping==0) "" - else requireContext().getString(R.string.lines_fill, stop.routesThatStopHereToString()) + else stop.routesThatStopHereToString() //requireContext().getString(R.string.lines_fill, stop.routesThatStopHereToString()) linesPassingTextView.text = string_show linesPassingTextView.visibility = View.VISIBLE + linesPassingTextView.gravity = Gravity.TOP + linesBottomTextView.visibility =View.VISIBLE //SET ON CLICK LISTENER arrivalsCard.setOnClickListener{ @@ -865,7 +881,7 @@ ViewUtils.openStopInOutsideApp(stop, context) } context?.let { - val colorIcon = ViewUtils.getColorFromTheme(it, android.R.attr.colorAccent)//ResourcesCompat.getColor(resources,R.attr.colorAccent,activity?.theme) + val colorIcon = ViewUtils.getColorFromTheme(it, R.attr.colorAccent)//ResourcesCompat.getColor(resources,R.attr.colorAccent,activity?.theme) ViewCompat.setBackgroundTintList(directionsCard, ColorStateList.valueOf(colorIcon)) } @@ -924,12 +940,17 @@ protected fun initStopsLayer(style: Style, stopsFeatures: FeatureCollection?){ //determine default layer - var layerAbove = "" - if (lastMapStyle == MapLibreUtils.STYLE_OSM_RASTER){ - layerAbove = "osm-raster" - } else if (lastMapStyle == MapLibreUtils.STYLE_VECTOR){ - layerAbove = "symbol-transit-airfield" + + val layerAbove = if (lastMapStyle == MapLibreUtils.STYLE_OSM_RASTER){ + "osm-raster" + } else// if (lastMapStyle == MapLibreUtils.STYLE_VERSATILES_ECLIPSE_JSON){ + "symbol-transit-airfield" + /*} else { + // + "poi_park" } + + */ initStopsLayer(style, stopsFeatures, layerAbove) } diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.kt b/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.kt --- a/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.kt +++ b/app/src/main/java/it/reyboz/bustorino/fragments/NearbyStopsFragment.kt @@ -176,12 +176,12 @@ savedInstanceState: Bundle? ): View { // Inflate the layout for this fragment - if (getContext() == null) throw RuntimeException() + val context = requireContext() val root = inflater.inflate(R.layout.fragment_nearby_stops, container, false) gridRecyclerView = root.findViewById(R.id.stopGridRecyclerView) gridLayoutManager = AutoFitGridLayoutManager( - requireContext().getApplicationContext(), - utils.convertDipToPixels(getContext(), COLUMN_WIDTH_DP.toFloat()).toInt() + context.getApplicationContext(), + utils.convertDipToPixels(context, COLUMN_WIDTH_DP.toFloat()).toInt() ) gridRecyclerView.setLayoutManager(gridLayoutManager) gridRecyclerView.setHasFixedSize(false) @@ -280,10 +280,14 @@ Log.e(DEBUG_TAG, "Trying to show arrivals in Recycler but we're not attached") return@observe } + val context = requireContext() if (firstLocForArrivals) { - arrivalsStopAdapter = ArrivalsStopAdapter(stoprouteList, mListener, context, lastPosition!!) - gridRecyclerView.setAdapter(arrivalsStopAdapter) - firstLocForArrivals = false + mListener?.let{ + arrivalsStopAdapter = ArrivalsStopAdapter(stoprouteList, it, context, lastPosition!!) + gridRecyclerView.setAdapter(arrivalsStopAdapter) + firstLocForArrivals = false + } + } else { arrivalsStopAdapter!!.setRoutesPairListAndPosition(stoprouteList, lastPosition) } @@ -552,7 +556,7 @@ val arrivalsSorted = viewModel.arrivalsDecoupled.value arrivalsSorted?.let{ lastPosition?.let{pos -> - arrivalsStopAdapter = ArrivalsStopAdapter(it,mListener,requireContext(), pos ) + arrivalsStopAdapter = ArrivalsStopAdapter(it,mListener!!,requireContext(), pos ) } } arrivalsStopAdapter?.let{ diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/SettingsFragment.java b/app/src/main/java/it/reyboz/bustorino/fragments/SettingsFragment.java --- a/app/src/main/java/it/reyboz/bustorino/fragments/SettingsFragment.java +++ b/app/src/main/java/it/reyboz/bustorino/fragments/SettingsFragment.java @@ -29,6 +29,7 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatDelegate; import androidx.lifecycle.Observer; import androidx.preference.*; import androidx.work.OneTimeWorkRequest; @@ -38,6 +39,7 @@ import it.reyboz.bustorino.R; import it.reyboz.bustorino.data.DBUpdateWorker; import it.reyboz.bustorino.data.GtfsMaintenanceWorker; +import it.reyboz.bustorino.data.PreferencesHolder; import org.jetbrains.annotations.NotNull; import java.lang.ref.WeakReference; @@ -70,8 +72,10 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { //getPreferenceManager().setSharedPreferencesName(getString(R.string.mainSharedPreferences)); convertStringPrefToIntIfNeeded(getString(R.string.pref_key_num_recents), getContext()); - - getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); + var sharedPrefs = getPreferenceManager().getSharedPreferences(); + if(sharedPrefs!=null) { + sharedPrefs.registerOnSharedPreferenceChangeListener(this); + } setPreferencesFromResource(R.xml.preferences,rootKey); /*EditTextPreference editPref = findPreference(getString(R.string.pref_key_num_recents)); editPref.setOnBindEditTextListener(editText -> { @@ -160,6 +164,17 @@ ListPreference listPref = (ListPreference) pref; pref.setSummary(listPref.getEntry()); } + + if(key.equals(PreferencesHolder.PREF_THEME_DAY_NIGHT)){ + String value = sharedPreferences.getString(key, ""); + Log.d(TAG, "New value is: "+ value); + if(!value.isEmpty()){ + var state = PreferencesHolder.getAppThemeDayNight(value); + AppCompatDelegate.setDefaultNightMode(state); + + } + + } /* THIS CODE STAYS COMMENTED FOR FUTURE REFERENCES if (key.equals(getString(R.string.pref_key_num_recents))){ diff --git a/app/src/main/java/it/reyboz/bustorino/map/MapLibreUtils.kt b/app/src/main/java/it/reyboz/bustorino/map/MapLibreUtils.kt --- a/app/src/main/java/it/reyboz/bustorino/map/MapLibreUtils.kt +++ b/app/src/main/java/it/reyboz/bustorino/map/MapLibreUtils.kt @@ -18,13 +18,21 @@ companion object{ //const val STYLE_BRIGHT_DEFAULT_JSON = "map_style_good_noshops.json" const val STYLE_VERSATILES_COLORFUL_JSON = "versatiles_colorful_light.json" + const val STYLE_VERSATILES_ECLIPSE_JSON = "versatiles_eclipse_modif.json" //"versatiles_eclipse.json" const val STYLE_OSM_RASTER="openstreetmap_raster.json" - const val STYLE_VECTOR = STYLE_VERSATILES_COLORFUL_JSON private const val DEBUG_TAG ="BusTO-MapLibreUtils" @JvmStatic - fun getDefaultStyleJson() = STYLE_VECTOR + fun isStyleVector(styleFile: String): Boolean { + return when(styleFile){ + //be careful to include all the style cases + STYLE_OSM_RASTER -> false + STYLE_VERSATILES_COLORFUL_JSON -> true + STYLE_VERSATILES_ECLIPSE_JSON -> true + else -> true + } + } @JvmStatic fun shortestRotation(from: Float, to: Float): Float { diff --git a/app/src/main/java/it/reyboz/bustorino/middleware/GeneralActivity.java b/app/src/main/java/it/reyboz/bustorino/middleware/GeneralActivity.java --- a/app/src/main/java/it/reyboz/bustorino/middleware/GeneralActivity.java +++ b/app/src/main/java/it/reyboz/bustorino/middleware/GeneralActivity.java @@ -231,44 +231,4 @@ return WindowInsetsCompat.CONSUMED; }; - /** - * Adjust setting to match the default ones - */ - protected void checkApplyDefaultSettingsValues(){ - SharedPreferences mainSharedPref = PreferenceManager.getDefaultSharedPreferences(this); - SharedPreferences.Editor editor = mainSharedPref.edit(); - //Main fragment to show - String screen = mainSharedPref.getString(SettingsFragment.PREF_KEY_STARTUP_SCREEN, ""); - boolean edit = false; - if (screen.isEmpty()){ - editor.putString(SettingsFragment.PREF_KEY_STARTUP_SCREEN, "arrivals"); - edit=true; - } - //Fetchers - final Set setSelected = mainSharedPref.getStringSet(SettingsFragment.KEY_ARRIVALS_FETCHERS_USE, new HashSet<>()); - if (setSelected.isEmpty()){ - String[] defaultVals = getResources().getStringArray(R.array.arrivals_sources_values_default); - editor.putStringSet(SettingsFragment.KEY_ARRIVALS_FETCHERS_USE, utils.convertArrayToSet(defaultVals)); - edit=true; - } - //Live bus positions - final String keySourcePositions=getString(R.string.pref_positions_source); - final String positionsSource = mainSharedPref.getString(keySourcePositions, ""); - if(positionsSource.isEmpty()){ - String[] defaultVals = getResources().getStringArray(R.array.positions_source_values); - editor.putString(keySourcePositions, defaultVals[0]); - edit=true; - } - //Map style - final String mapStylePref = mainSharedPref.getString(SettingsFragment.LIBREMAP_STYLE_PREF_KEY, ""); - if(mapStylePref.isEmpty()){ - final String[] defaultVals = getResources().getStringArray(R.array.map_style_pref_values); - editor.putString(SettingsFragment.LIBREMAP_STYLE_PREF_KEY, defaultVals[0]); - edit=true; - } - if (edit){ - editor.commit(); - } - - } } diff --git a/app/src/main/res/drawable-hdpi/ic_center_map.png b/app/src/main/res/drawable-hdpi/ic_center_map.png deleted file mode 100644 index babd8abefa410114a2a808fde9049beedc8a33ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 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 diff --git a/app/src/main/res/drawable-xhdpi/ic_center_map.png b/app/src/main/res/drawable-xhdpi/ic_center_map.png deleted file mode 100644 index 8241800d42e647bb3ec80a0caae5ac364655217d..0000000000000000000000000000000000000000 GIT binary patch literal 0 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 ?~dB?0~qXWTQ4umplWGP+JIgz&Fs! z&9|?>V80>}78JO@zkj+lm~zia zcZvpq*x1;Nc;8;kc-k*~+~|#_XdXicjY_A|T2fw46ap+rUtfRUb(S-ru&_{skFUP5 zww7=_I_&rFPsfKg={GmtvQBHp_t!Iwz<&s8&@!{Ky5F0cW>Y-%BnG)ykd_vvAR6|M z%jot#Vln{0-0JV|ub`%;?gmNkZZ5_HB;3h=fByUU-`4~IhONYPqmVeGp$Q8cfZaz?+*Jte-!B1^`0~tP=-$J;xZP5|&7ggA1z)nN^t zj$z8mWe*6?McxxoX2SN5kZ}?K1*^x$l`U|P^{?SZBjV1xair056xotD`(;(ve^ID@ zCMG5+`Ur(W4K)8(V};=p7WI7~QOb=P2oiy_dB^?ji3`>*z&zo6(ORrY0V5+LOLup7 z7=gHPX=zPU%gcAhZpVvKnd#}-*%CX|x8}-Yv!GKmd!%Ft`9?thfy{HC)VXOL3@z*p z3Jz9;7Zrc~xj(VHyDLn_%;^*n|Ge^}jZIVwun`G-{McbR-dCok>wZEaBE-urZuqV? z3Xk5>_mD-z#NaI-V#JeWT|XXYVPh-93+*=ar~UEm;exY>IJ1~oYhN7wQJO)yusuaW zKc%g;^}8{B86ajhR@SdsSy?-at=WoiUoYW5t=(rm=J*{nIW@dJBNJPKdpJ89kW@Bl| z;^gXj{DLsN=;Aeb?A=TcO98 zKxS^IR;mdD*<1zWSA5LCw72}h3iPbe>g6(dYKg7CdnpL5tq&3yUl_BUblkVMRaDsi z1hue=l2Ws`uY%pp0J#7+E}n1maytPd%Bruo7e>+2-rl}{zBg$~9xWi!VGrxwA}uo* zX3FtCC5S{O0|z$??#BgJzRFW0brxxJ+HOeceDH6R9v&XiXV!uiYwPPgweS1z6oHVL zL1ivmPTHSZ@zQ&U8F_sAR0DEi#~oNdKQ%Sg2t2VTN=kz{+0!JTO2dPL)_mG5nSZZN z&OQkl%z)%ba(O?rxVU&HN>4A#BP4`P{+?D}W^-pp^6{fb6!kSVk_yYWTby|WcG2fe6Gjld9EUeD& z-@nUiYiqCc_V((h1$$QnrPYCLs?@VFLu~ z`Sta6eHCt|)CEXeTifdPaE3X!H9sd6N?#asJ_&K;RvT(NgRsc}@2-V3x26WZv$e(l zxf6CQD=VAYXmlPKB%POAqib^vE~P=#*Qc_VSF2&JIyMEk98BYSy1N^QfOR~W41ACv zp0VJCDm_o=pWy7csZ}l2Bwu29MnuGCao@G+!6L1|&BKFUR8-Ue<4Qdq&Jd&t8bVC* z$$~^w#->wQ9u^k1d%VAouCm7%^)OG385_`w6NrlEXJ=tpkY$}`gIa(EPEbQY!TrgM>{*8gLr;v4YJVJ z++5mz5Tir^P?HN&jy#aa;RIm`!<>gqs3mcJqc1k{i-x78l2RlDqjNtqGc$zu<48S_ zUn3JUb4ehy5QmbIlB2n~xt)fJ>Ih|ziY@I;9vT`dJO+;8F6Jvr9<5q~Kn&|QIhs@B zg;JcJoh5_@1)T$_IEMrWU)-$W`?=R!P8P`nv!0ol(AeDD^O#;(5cPjW+v>ae9Zep4 z@AhV8b4Qw%fX5oVo@1jI7Zn`?Y+DMX#SWq^Is5^CK?jl3OI^W8i+cc~L2qB*U|!k; z4gp4zKdr9hTfA*SJ%|YdAbYFGNCo=%fixbjqFelw6|Q-n7#MA_ajdeR9n7V>G)@simz2=E2Uup{{vOa(}Dm1 diff --git a/app/src/main/res/drawable-xhdpi/ic_follow_me_on.png b/app/src/main/res/drawable-xhdpi/ic_follow_me_on.png deleted file mode 100644 index 77a87b1d9916d1a7e1a6939fbcdb6509b60bfe9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@$cUX9LA65W1 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 diff --git a/app/src/main/res/drawable-xxhdpi/ic_center_map.png b/app/src/main/res/drawable-xxhdpi/ic_center_map.png deleted file mode 100644 index 295db21cb645a4a47b6b062bcb443322e07d65a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@?vYEZtH9BDti1sC38Dl2U?ncO%{DJN*9F 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 dYl4W6{KLMBy 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 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_center_map.png b/app/src/main/res/drawable-xxxhdpi/ic_center_map.png deleted file mode 100644 index 502f327ad5d2eb2012d16a8877826e66aaecee2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@L@ 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 diff --git a/app/src/main/res/drawable-xxxhdpi/tram.png b/app/src/main/res/drawable-xxxhdpi/tram.png deleted file mode 100644 index 29cc954bd15430b17a8b17a547ca984824748a1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@F@vm1>i|U zK~#9!?Va6gTtyhhf7#u9bd%N^Q7XnJh7^hQ0}4?DiBc4bdZAY6h3LPgSE5ocE8Yl# zNJa6c5^OPPjMR@-X_M}zNt2lMVn(nvO?EbC&Y6$r2TM!4yJzQ}XP%jP=bRZ3LI@#* z5JCtcgb+fcPhSRQ90m>pBS5{&&-@Lvfn{J-0*H?WFasP19^OYeJHYS29Pk~mB>{xb zG;j(ySn&6@fX{&+Qwml+vC5wXUIhj{eD@&mg#G)H1P~t20WW)YwLV}1SO z;H?t7v`JtQxEXukYKe?vUMaaOHG9oI37~q80%H|icg$W}0tjH#pX0S9fd4o^j@Om| zEC(~ac3}gkP=3c4Fpf#tjyT$IRpsd5mKbW=*Aj5Wem-jf)PZM#=N&6O1=_%Q;9Jbv zLv{jq5I6&jk~i0ZkAXj{YJpWS4!oN}A6fthfTwMju#$rSMuB&1!G)m#90M)^YpKry zUdOD_i#r*%u}OLwcnq_cB6eoN#wb|#siQSpBu}V$=4*>nD-#zIs zb81|s07g`|T~pfhxDkN>I=~OW1>h=S-=*8Iqxo?=x1S8Xv6Lx*W)Gja348+l7D>z9 z!X$Gp*w+;BMh|6gmi2=}?gCbU_amzOotOtcz}!O^qyy9fc7V^QAT{cNzie5ucL0|{ zT_dgg@8@t^>`77pF6rM(iH+(zz(r57O40#tBsjIZAqVK5c7g(E{DBfzTWv2LY_-<^V2*=wu*(1Gx#n zC8vEqX`f**jCn@VN9>YtfMKfH^|LIVag2F(T>!v~iB|q7@Pg;qC6Nc1>>*I0a|p8| z+K}hiInxNx0RT>7&iVO*k~d8%m_BR!CwuJAn<)sOR~4TCo&**!d+EhQ-M0FPeO6-h z4zS;R_5ca&$X!7EHe($FXgj#TW9VA|P1Rr6F_Z(y0ptL300}?>@PxL83p|E$06BmJ zAOUC=pjm(%Kn@@WkOLG-Y5UwHj@LNW)cW&w0iOa;{~tjt4a^}CSAg4?le4CP$0D!1Ma5WWHVz2E0R{?wUkLapQ?d>)R`B~mz(<*ysS04Gi}#EW*F&PybeF!JNmT$Y zx$7xlc9;JjvUz~mx`5N{z9Gb{ExV7Hc1_(=0GGX8!{huH)fERbQFF?H)ce<=7%(5y5K}#4o|zN`&E?Vs~q`B3iG?DqjL zVX|Wl)$u(?`*XI>Un%2)RqV|_fXVnhWJS^Koi3xqlM>zrE;_XK72ukk>XmwCQcQ<4 zyoXsch=mV*&D~>}1{TRgWR(xQuW(8LDF*W{#)x2XtESeUw{U9;V%{!LQ|r%Lz%>Og zZx^Vk_2(_*nu3cdnZP5M)NgA1gzk|LLI@#*5JCtcgb+fM&Oc---WIQ< R(Q*I)002ovPDHLkV1huv)dBzj diff --git a/app/src/main/res/drawable/bottom_sheet_background.xml b/app/src/main/res/drawable/bottom_sheet_background.xml --- a/app/src/main/res/drawable/bottom_sheet_background.xml +++ b/app/src/main/res/drawable/bottom_sheet_background.xml @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/bus_stop_new.xml b/app/src/main/res/drawable/bus_stop_new.xml --- a/app/src/main/res/drawable/bus_stop_new.xml +++ b/app/src/main/res/drawable/bus_stop_new.xml @@ -12,10 +12,10 @@ + android:fillColor="@color/white"/> diff --git a/app/src/main/res/drawable/bus_stop_new_highlight.xml b/app/src/main/res/drawable/bus_stop_new_highlight.xml --- a/app/src/main/res/drawable/bus_stop_new_highlight.xml +++ b/app/src/main/res/drawable/bus_stop_new_highlight.xml @@ -9,13 +9,14 @@ android:strokeWidth="0.0936408" android:fillColor="?colorAccent" android:strokeColor="#00000000"/> + + android:fillColor="@color/white"/> diff --git a/app/src/main/res/drawable/ic_bus.xml b/app/src/main/res/drawable/ic_bus.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/drawable/ic_bus.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_bus_electric_filled.xml b/app/src/main/res/drawable/ic_bus_electric_filled.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/drawable/ic_bus_electric_filled.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/ic_bus_electric_small.xml b/app/src/main/res/drawable/ic_bus_electric_small.xml deleted file mode 100644 --- a/app/src/main/res/drawable/ic_bus_electric_small.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_bus_material.xml b/app/src/main/res/drawable/ic_bus_material.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/drawable/ic_bus_material.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_bus_stilized.xml b/app/src/main/res/drawable/ic_bus_stilized.xml --- a/app/src/main/res/drawable/ic_bus_stilized.xml +++ b/app/src/main/res/drawable/ic_bus_stilized.xml @@ -4,6 +4,6 @@ android:viewportWidth="48" android:viewportHeight="48"> diff --git a/app/src/main/res/drawable/ic_subway_filled.xml b/app/src/main/res/drawable/ic_subway_filled.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/drawable/ic_subway_filled.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_tram_filled_24.xml b/app/src/main/res/drawable/ic_tram_filled_24.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/drawable/ic_tram_filled_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_tram_material.xml b/app/src/main/res/drawable/ic_tram_material.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/drawable/ic_tram_material.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/magnifying_glass_larger.xml b/app/src/main/res/drawable/magnifying_glass_larger.xml --- a/app/src/main/res/drawable/magnifying_glass_larger.xml +++ b/app/src/main/res/drawable/magnifying_glass_larger.xml @@ -6,5 +6,5 @@ + android:fillColor="@color/white"/> diff --git a/app/src/main/res/drawable/map_bus_position_icon_sel.xml b/app/src/main/res/drawable/map_bus_position_icon_sel.xml --- a/app/src/main/res/drawable/map_bus_position_icon_sel.xml +++ b/app/src/main/res/drawable/map_bus_position_icon_sel.xml @@ -1,7 +1,7 @@ - diff --git a/app/src/main/res/layout/activity_principal.xml b/app/src/main/res/layout/activity_principal.xml --- a/app/src/main/res/layout/activity_principal.xml +++ b/app/src/main/res/layout/activity_principal.xml @@ -41,15 +41,15 @@ android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" - android:background="@color/grey_050" - android:theme="@style/ThemeOverlay.AppCompat.Light" + android:theme="@style/ThemeOverlay.AppCompat.DayNight" app:headerLayout="@layout/nav_header" app:itemIconTint="@color/teal_500" app:itemTextAppearance="?android:attr/textAppearanceMedium" - app:itemTextColor="@color/black_900" + app:itemTextColor="?android:textColorPrimary" android:fitsSystemWindows="true" - app:menu="@menu/drawer_main" /> + app:menu="@menu/drawer_main" + /> \ No newline at end of file diff --git a/app/src/main/res/layout/default_toobar.xml b/app/src/main/res/layout/default_toobar.xml --- a/app/src/main/res/layout/default_toobar.xml +++ b/app/src/main/res/layout/default_toobar.xml @@ -10,6 +10,6 @@ android:fitsSystemWindows="false" android:elevation="4dp" - app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> + > \ No newline at end of file diff --git a/app/src/main/res/layout/entry_alert_line_adapter.xml b/app/src/main/res/layout/entry_alert_line_adapter.xml --- a/app/src/main/res/layout/entry_alert_line_adapter.xml +++ b/app/src/main/res/layout/entry_alert_line_adapter.xml @@ -22,7 +22,7 @@ android:textStyle="bold" android:textSize="17sp" android:fontFamily="@font/lato_bold" - android:textColor="@color/black_900" + android:textColor="?android:textColorPrimary" android:text="Alerts for line" android:layout_alignParentTop="true" android:layout_marginBottom="5dp" @@ -35,10 +35,10 @@ android:id="@+id/messageBodyTextView" android:textSize="16sp" android:fontFamily="@font/lato_regular" - android:textColor="@color/black_900" + android:textColor="?android:textColorPrimary" android:text="Alert text" android:layout_below="@id/messageTitleTextView" /> \ No newline at end of file diff --git a/app/src/main/res/layout/entry_bus_line_passage.xml b/app/src/main/res/layout/entry_bus_line_passage.xml --- a/app/src/main/res/layout/entry_bus_line_passage.xml +++ b/app/src/main/res/layout/entry_bus_line_passage.xml @@ -50,6 +50,17 @@ + + Chiaro + Scuro + Segui il sistema + + Imposta tema scuro o chiaro diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/values-night/colors.xml @@ -0,0 +1,29 @@ + + + #ababab + + #0b6fc1 + #bfbfbf + + #1a4db2 + + + + #3770e2 + + #c34322 + + #861313 + + #3657b0 + #2270c3 + @color/grey_900 + @color/grey_900 + + @color/orange_700_night + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -13,6 +13,12 @@ #2060dd #8A4247 #FFF3E0 + #fff5e5 + + #e08700 + + + #d16900 #2378e8 #0079f5 @@ -25,7 +31,10 @@ #228b22 #0ABA34 - #009688 + #009688 + #00a38d + #009480 + #00a887 #4DB6AC #80cbc4 #008175 @@ -39,6 +48,8 @@ #353535 #303030 + #f2f2f2 + #DE0908 @@ -59,14 +70,19 @@ @color/red_dark @color/blue_extra + #3089e8 #FF039BE5 #FF01579B #FF40C4FF #FF00B0FF #66000000 + #555 + #cccccc - + @color/grey_500 #00000000 + @color/orange_700 + @color/grey_050 @color/orange_500 @color/blue_extraurbano @@ -74,4 +90,6 @@ @color/orange_icons_10light @color/grey_400 @color/orange_750_l45 + + @color/blue_700 \ No newline at end of file diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml --- a/app/src/main/res/values/keys.xml +++ b/app/src/main/res/values/keys.xml @@ -40,4 +40,17 @@ osm_legacy + + + day + night + system + + + + @string/day_night_theme_set_light + @string/day_night_theme_set_dark + @string/day_night_theme_keep_system + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -156,7 +156,7 @@ Near me Nearby stops - Nearby connections + Nearby arrivals App version The number of stops to show in the recent stops is invalid Invalid value, put a valid number @@ -299,6 +299,14 @@ @string/nav_map_text @string/lines + + + Light + Dark + Change it with the system + + + Set dark or light theme Source of real time positions for buses and trams MaTO (updated more frequently, might have errors) GTFS RT (less frequently updated, more accurate) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -71,7 +71,23 @@ + - -