diff options
author | Jakub Hampl <kopomir@gmail.com> | 2018-09-11 09:50:38 +0100 |
---|---|---|
committer | Jakub Hampl <kopomir@gmail.com> | 2018-09-11 09:50:38 +0100 |
commit | 075a1730211ed26e227bc8de6ad9a032048e66ee (patch) | |
tree | 75eb3b1cf1255df3f093c3c891341ca912a0ac54 /examples | |
parent | 2e9381479d484d383238493306421327623bc4a2 (diff) |
Add style generator
Diffstat (limited to 'examples')
-rw-r--r-- | examples/Example02.elm | 12 | ||||
-rw-r--r-- | examples/Outdoors.elm | 1079 |
2 files changed, 1091 insertions, 0 deletions
diff --git a/examples/Example02.elm b/examples/Example02.elm new file mode 100644 index 0000000..5e04567 --- /dev/null +++ b/examples/Example02.elm @@ -0,0 +1,12 @@ +module Example02 exposing (main) + +import Browser +import Html exposing (div) +import Html.Attributes exposing (style) +import Mapbox.Element exposing (..) +import Outdoors + + +main = + div [ style "height" "100vh" ] + [ map [] Outdoors.style ] diff --git a/examples/Outdoors.elm b/examples/Outdoors.elm new file mode 100644 index 0000000..9fc5f4d --- /dev/null +++ b/examples/Outdoors.elm @@ -0,0 +1,1079 @@ +module Outdoors exposing (style) + +import Mapbox.Expression as E exposing (false, float, int, str, true) +import Mapbox.Layer as Layer +import Mapbox.Source as Source +import Mapbox.Style as Style exposing (Style(..)) + + +style : Style +style = + Style + { transition = Style.defaultTransition + , light = Style.defaultLight + , layers = + [ Layer.background "background" + [ Layer.backgroundColor + (E.zoom + |> E.interpolate E.Linear + [ ( 5, E.rgba 239 230 214 1 ) + , ( 7, E.rgba 236 223 202 1 ) + ] + ) + ] + , Layer.fill "national_park" + "mapbox-streets" + [ Layer.sourceLayer "landuse_overlay" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park")) + , Layer.fillColor (E.rgba 200 221 151 1) + , Layer.fillOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 5, float 0 ) + , ( 6, float 0.5 ) + ] + ) + ] + , Layer.fill "landuse" + "mapbox-streets" + [ Layer.sourceLayer "landuse" + , Layer.filter + (E.any + [ E.getProperty (str "class") |> E.isEqual (str "hospital") + , E.getProperty (str "class") |> E.isEqual (str "park") + , E.getProperty (str "class") |> E.isEqual (str "pitch") + , E.getProperty (str "class") |> E.isEqual (str "school") + ] + ) + , Layer.fillColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "park", E.rgba 200 221 151 1 ) + , ( "pitch", E.rgba 200 221 151 1 ) + , ( "hospital", E.rgba 242 211 211 1 ) + , ( "school", E.rgba 233 213 199 1 ) + ] + (E.rgba 0 0 0 0) + ) + , Layer.fillOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 5, float 0 ) + , ( 6, float 1 ) + ] + ) + ] + , Layer.line "waterway" + "mapbox-streets" + [ Layer.minzoom 8 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "canal") + , E.getProperty (str "class") |> E.isEqual (str "river") + ] + ] + ) + , Layer.sourceLayer "waterway" + , Layer.lineColor (E.rgba 120 188 236 1) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.3) + [ ( 8.5, float 0.1 ) + , ( 20, float 8 ) + ] + ) + , Layer.lineOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 8, float 0 ) + , ( 8.5, float 1 ) + ] + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.fill "water" + "mapbox-streets" + [ Layer.sourceLayer "water" + , Layer.fillColor + (E.zoom + |> E.interpolate E.Linear + [ ( 5, E.rgba 106 181 234 1 ) + , ( 7, E.rgba 120 188 236 1 ) + ] + ) + ] + , Layer.fill "aeroway-polygon" + "mapbox-streets" + [ Layer.sourceLayer "aeroway" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "Polygon") + , E.any + [ E.getProperty (str "type") |> E.isEqual (str "helipad") + , E.getProperty (str "type") |> E.isEqual (str "runway") + , E.getProperty (str "type") |> E.isEqual (str "taxiway") + ] + ] + ) + , Layer.fillColor (E.rgba 196 196 196 1) + ] + , Layer.line "aeroway-line" + "mapbox-streets" + [ Layer.sourceLayer "aeroway" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.any + [ E.getProperty (str "type") |> E.isEqual (str "runway") + , E.getProperty (str "type") |> E.isEqual (str "taxiway") + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 10, float 0.5 ) + , ( 18, float 20 ) + ] + ) + , Layer.lineColor (E.rgba 196 196 196 1) + ] + , Layer.fill "building" + "mapbox-streets" + [ Layer.minzoom 15 + , Layer.filter + (E.all + [ E.getProperty (str "type") |> E.notEqual (str "building:part") + , E.getProperty (str "underground") |> E.isEqual (str "false") + ] + ) + , Layer.sourceLayer "building" + , Layer.fillColor (E.rgba 212 200 179 1) + , Layer.fillOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 15.5, float 0 ) + , ( 16, float 1 ) + ] + ) + ] + , Layer.line "pedestrian-path" + "mapbox-streets" + [ Layer.minzoom 14 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "platform") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "path") + , E.getProperty (str "class") |> E.isEqual (str "pedestrian") + ] + ] + ] + ) + , Layer.sourceLayer "road" + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 14 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "pedestrian", float 1 ) + , ( "path", float 0.75 ) + ] + (float 0.75) + ) + , ( 20 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "pedestrian", float 8 ) + , ( "path", float 5 ) + ] + (float 5) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "type") + |> E.matchesStr + [ ( "sidewalk", E.rgba 221 208 186 1 ) + , ( "crossing", E.rgba 221 208 186 1 ) + ] + (E.rgba 199 184 157 1) + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "tunnel" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "street", E.rgba 255 251 244 1 ) + , ( "street_limited", E.rgba 255 251 244 1 ) + , ( "service", E.rgba 255 251 244 1 ) + , ( "track", E.rgba 255 251 244 1 ) + , ( "link", E.rgba 255 251 244 1 ) + ] + (E.rgba 255 255 255 1) + ) + , Layer.lineDasharray (E.floats [ 0.2, 0.2 ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.all + [ E.getProperty (str "structure") |> E.notEqual (str "bridge") + , E.getProperty (str "structure") |> E.notEqual (str "tunnel") + ] + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "street", E.rgba 255 251 244 1 ) + , ( "street_limited", E.rgba 255 251 244 1 ) + , ( "service", E.rgba 255 251 244 1 ) + , ( "track", E.rgba 255 251 244 1 ) + , ( "link", E.rgba 255 251 244 1 ) + ] + (E.rgba 255 255 255 1) + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "bridge-case" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 10, float 1 ) + , ( 16, float 2 ) + ] + ) + , Layer.lineColor (E.rgba 236 223 202 1) + , Layer.lineGapWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "street", E.rgba 255 251 244 1 ) + , ( "street_limited", E.rgba 255 251 244 1 ) + , ( "service", E.rgba 255 251 244 1 ) + , ( "track", E.rgba 255 251 244 1 ) + , ( "link", E.rgba 255 251 244 1 ) + ] + (E.rgba 255 255 255 1) + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "admin-state-province" + "mapbox-streets" + [ Layer.minzoom 2 + , Layer.filter + (E.all + [ E.getProperty (str "maritime") |> E.isEqual (float 0) + , E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3) + ] + ) + , Layer.sourceLayer "admin" + , Layer.lineDasharray + (E.zoom + |> E.step + (E.floats + [ 2 + , 0 + ] + ) + [ ( 7 + , E.floats + [ 2 + , 2 + , 6 + , 2 + ] + ) + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate E.Linear + [ ( 7, float 0.75 ) + , ( 12, float 1.5 ) + ] + ) + , Layer.lineOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 2, float 0 ) + , ( 3, float 1 ) + ] + ) + , Layer.lineColor (E.zoom |> E.step (E.rgba 204 204 204 1) [ ( 4, E.rgba 165 165 165 1 ) ]) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "admin-country" + "mapbox-streets" + [ Layer.minzoom 1 + , Layer.filter + (E.all + [ E.getProperty (str "admin_level") |> E.lessThanOrEqual (float 2) + , E.getProperty (str "disputed") |> E.isEqual (float 0) + , E.getProperty (str "maritime") |> E.isEqual (float 0) + ] + ) + , Layer.sourceLayer "admin" + , Layer.lineColor (E.rgba 127 127 127 1) + , Layer.lineWidth + (E.zoom + |> E.interpolate E.Linear + [ ( 3, float 0.5 ) + , ( 10, float 2 ) + ] + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "admin-country-disputed" + "mapbox-streets" + [ Layer.minzoom 1 + , Layer.filter + (E.all + [ E.getProperty (str "admin_level") |> E.lessThanOrEqual (float 2) + , E.getProperty (str "disputed") |> E.isEqual (float 1) + , E.getProperty (str "maritime") |> E.isEqual (float 0) + ] + ) + , Layer.sourceLayer "admin" + , Layer.lineColor (E.rgba 127 127 127 1) + , Layer.lineWidth + (E.zoom + |> E.interpolate E.Linear + [ ( 3, float 0.5 ) + , ( 10, float 2 ) + ] + ) + , Layer.lineDasharray (E.floats [ 1.5, 1.5 ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "road-label" + "mapbox-streets" + [ Layer.minzoom 12 + , Layer.filter + (E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "pedestrian") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ) + , Layer.sourceLayer "road_label" + , Layer.textColor (E.rgba 0 0 0 1) + , Layer.textHaloColor (E.rgba 255 255 255 1) + , Layer.textHaloWidth (float 1) + , Layer.textSize + (E.zoom + |> E.interpolate E.Linear + [ ( 9 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 10 ) + , ( "trunk", float 10 ) + , ( "primary", float 10 ) + , ( "secondary", float 10 ) + , ( "tertiary", float 10 ) + ] + (float 9) + ) + , ( 20 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 15 ) + , ( "trunk", float 15 ) + , ( "primary", float 15 ) + , ( "secondary", float 15 ) + , ( "tertiary", float 15 ) + ] + (float 14) + ) + ] + ) + , Layer.textMaxAngle (float 30) + , Layer.textFont + (E.strings + [ "Roboto Regular" + , "Arial Unicode MS Regular" + ] + ) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.textPadding (float 1) + , Layer.textRotationAlignment E.anchorMap + , Layer.textPitchAlignment E.anchorViewport + , Layer.textField (E.getProperty (str "name_en")) + ] + , Layer.symbol "poi-label" + "mapbox-streets" + [ Layer.sourceLayer "poi_label" + , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 3)) + , Layer.textColor (E.rgba 88 77 59 1) + , Layer.textHaloColor (E.rgba 255 255 255 0.75) + , Layer.textHaloWidth (float 1) + , Layer.textHaloBlur (float 0.5) + , Layer.textLineHeight (float 1.1) + , Layer.textSize + (E.zoom + |> E.interpolate E.Linear + [ ( 10, float 11 ) + , ( 18, float 13 ) + ] + ) + , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11")) + , Layer.textMaxAngle (float 38) + , Layer.textFont + (E.strings + [ "Roboto Regular" + , "Arial Unicode MS Regular" + ] + ) + , Layer.textPadding (float 2) + , Layer.textOffset (E.floats [ 0, 0.75 ]) + , Layer.textAnchor E.positionTop + , Layer.textField (E.getProperty (str "name_en")) + , Layer.textMaxWidth (float 8) + ] + , Layer.symbol "airport-label" + "mapbox-streets" + [ Layer.sourceLayer "airport_label" + , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)) + , Layer.textColor (E.rgba 88 77 59 1) + , Layer.textHaloColor (E.rgba 255 255 255 1) + , Layer.textHaloWidth (float 1) + , Layer.textLineHeight (float 1.1) + , Layer.textSize + (E.zoom + |> E.interpolate E.Linear + [ ( 10, float 12 ) + |