From: Varun Date: Thu, 22 Dec 2016 21:37:02 +0000 (-0500) Subject: Updated walkabout style to provide sdk toggles X-Git-Tag: accepted/tizen/common/20170102.152132^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61383ed87ad83520e4c97f96014ef810d6c01aed;p=platform%2Fcore%2Flocation%2Fmaps-plugin-mapzen.git Updated walkabout style to provide sdk toggles - provides building toggle - provides public transit toggle - provides localized language selection Change-Id: I40785198ff2ee9373d1972cf2ebb105d92acaec4 --- diff --git a/scenes/walkabout-style/images/walkabout@2x.png b/scenes/walkabout-style/images/walkabout@2x.png new file mode 100644 index 0000000..b557c33 Binary files /dev/null and b/scenes/walkabout-style/images/walkabout@2x.png differ diff --git a/scenes/walkabout-style/walkabout-style.yaml b/scenes/walkabout-style/walkabout-style.yaml index 21ec58b..625e0a9 100644 --- a/scenes/walkabout-style/walkabout-style.yaml +++ b/scenes/walkabout-style/walkabout-style.yaml @@ -12,10 +12,128 @@ global: #ux/ui - # - # missing language - # missing transit overlay - # + ux_language: false # l10n language code, trusting OSM in v0.10 tiles, fixed in v1.0 tiles + ux_language_fallback: false # l10n language code, trusting OSM in v0.10 tiles, fixed in v1.0 tiles + ux_language_text_source: | + function() { + // if a ux_langauge has been defined use that, else if there is feature name in the fallback_ux_language then use that, else use the feature's default name in the local language + return (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature.name; + } + ux_language_text_source_boundary_lines: | + function() { + var right = (global.ux_language && feature['name:right:'+global.ux_language]) || (global.ux_language_fallback && feature['name:right:'+global.ux_language_fallback]) || feature['name:right']; + var left = (global.ux_language && feature['name:left:'+global.ux_language]) || (global.ux_language_fallback && feature['name:left:'+global.ux_language_fallback]) || feature['name:left']; + if( right && left ) { + //if( right.includes(' ') || left.includes(' ') ) { + return left + " - " + right; + //} else { + // return right + '\n' + left; + //} + } else { + return (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature.name; + } + } + ux_language_text_source_short: | + function() { + return (global.ux_language && feature['name:short:'+global.ux_language]) || (global.ux_language_fallback && feature['name:short:'+global.ux_language_fallback]) || feature['name:short']; + } + ux_language_text_source_short_proxy_name: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name'] || ''; + var short = (global.ux_language && feature['name:short:'+global.ux_language]) || (global.ux_language_fallback && feature['name:short:'+global.ux_language_fallback]) || feature['name:short']; + return short ? name : ''; + } + ux_language_text_source_abbreviation: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name'] || ''; + var abbrev = (global.ux_language && feature['name:abbreviation:'+global.ux_language]) || (global.ux_language_fallback && feature['name:abbreviation:'+global.ux_language_fallback]) || feature['name:abbreviation']; + return abbrev || name; + } + ux_language_text_source_iata: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name']; + if(feature.iata) { + if (name) { + return name + ' (' + feature.iata + ')'; + } + else { + return feature.iata; + } + } else { + return name; + } + } + ux_language_text_source_ocean: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name'] || ''; + name = name.split(' ').join('\n'); + return name.split('').join(' '); + } + ux_language_text_source_sea: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name'] || ''; + name = name.split(' ').join('\n'); + return name.split('').join(' '); + } + ux_language_text_source_continent_stacked_only: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name'] || ''; + return name.split(' ').join('\n'); + } + ux_language_text_source_continent: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name'] || ''; + name = name.split(' ').join('\n'); + return name.split('').join(' '); + } + ux_language_text_source_road_ref_and_name: | + function() { + // if a ux_langauge has been defined use that, else if there is feature name in the fallback_ux_language then use that, else use the feature's default name in the local language + return (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature.name; + + /* + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name']; + if(feature.ref && name) { + return (feature.ref + ' ' + name); + } else { + return name; + } + */ + } + ux_language_text_source_road_ref_and_name_short: | + function() { + // if a ux_langauge has been defined use that, else if there is feature name in the fallback_ux_language then use that, else use the feature's default name in the local language + return (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature.name; + + /* + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name']; + if (feature.ref && (feature.ref.length < 6) && name) { + return feature.ref + ' ' + name; + } else { + return name; + } + */ + } + ux_language_text_source_piste_advanced: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name']; + return name ? ('◆ ' + name) : '◆'; + } + ux_language_text_source_piste_expert: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name']; + return name ? ('◆◆ ' + name) : '◆◆'; + } + ux_language_text_source_building_and_address: | + function() { + var name = (global.ux_language && feature['name:'+global.ux_language]) || (global.ux_language_fallback && feature['name:'+global.ux_language_fallback]) || feature['name']; + if (name && feature.addr_housenumber) { + return name + '\n' + feature.addr_housenumber; + } else { + return name; + } + } + # To facilitate data visualizations several recommended sort orders are provided # # Your classic raster map overlay. @@ -72,8 +190,21 @@ global: sdk_order_under_everything_8: 8 sdk_order_under_everything_9: 9 # + # TRANSIT OVERLAY + # should default to "auto", with SDK overriding it to true or false, + # or app logic sets other booleans that triggers auto behavior later + sdk_transit_overlay: false + # + # SHIELDS + sdk_shield_color: black + sdk_shield_text_color: white + # + # enable interactivity for key features + interactive: true + # # default order for basemap features feature_order: function() { return feature.sort_rank; } + building_extrude: true # # TODO: YAML based globals below will move into this Tangram globals block @@ -92,23 +223,23 @@ labels-global: - &icon_visible_landuse_green true #this needs work - &text_visible_landuse_green true - &label_visible_poi_landuse true - - &icon_visible_poi_landuse false #false for default - - &text_visible_poi_landuse false #false for default + - &icon_visible_poi_landuse true #false for default + - &text_visible_poi_landuse true #false for default - &label_visible_poi_landuse_e true - - &icon_visible_poi_landuse_e false #false for default + - &icon_visible_poi_landuse_e true #false for default - &text_visible_poi_landuse_e true - - &label_visible_station false #false for default - - &icon_visible_station false #false for default - - &text_visible_station false #false for default + - &label_visible_station true #false for default + - &icon_visible_station true #false for default + - &text_visible_station true #false for default - &text_visible_highway true - - &text_visible_highway_e false #false for default + - &text_visible_highway_e true #false for default - &text_visible_trunk_primary true - - &text_visible_trunk_primary_e2 false #false for default - - &text_visible_trunk_primary_e false #false for default + - &text_visible_trunk_primary_e2 true #false for default + - &text_visible_trunk_primary_e true #false for default - &text_visible_secondary true - - &text_visible_secondary_e false #false for default + - &text_visible_secondary_e true #false for default - &text_visible_tertiary true - - &text_visible_tertiary_e false #false for default + - &text_visible_tertiary_e true #false for default - &text_visible_minor_road true - &text_visible_minor_road_e true - &text_visible_service_road true @@ -116,9 +247,9 @@ labels-global: - &text_visible_piste true - &text_visible_steps true - &text_visible_aerialway true - - &text_visible_shields true + - &text_visible_shields false - &text_visible_exits true - - &text_visible_exits_e false #false for default + - &text_visible_exits_e true #false for default - &text_visible_airport_gate true settings: @@ -290,421 +421,354 @@ scene: # animated: true fonts: + Open Sans: + - weight: 300 # Light + url: fonts/OpenSans-Light.woff + - weight: normal # Regular + url: fonts/OpenSans-Regular.woff + - weight: normal # Regular + style: italic + url: fonts/OpenSans-Italic.woff + - weight: 600 # Semi Bold + url: fonts/OpenSans-Semibold.woff + - weight: 600 # Semi Bold + style: italic + url: fonts/OpenSans-SemiboldItalic.woff + - weight: bold + url: fonts/OpenSans-Bold.woff Montserrat: - url: https://fonts.gstatic.com/s/montserrat/v7/zhcz-_WihjSQC0oHJ9TCYL3hpw3pgy2gAi-Ip7WPMi0.woff + - weight: normal + #url: https://fonts.gstatic.com/s/montserrat/v7/zhcz-_WihjSQC0oHJ9TCYL3hpw3pgy2gAi-Ip7WPMi0.woff + url: fonts/Montserrat-Regular.woff textures: pois: - url: images/poi_icons_18@2x.png + url: images/walkabout@2x.png filtering: mipmap sprites: # define sprites: [x origin, y origin, width, height] - 'US:CA_1char': [220, 606, 82, 92] - 'US:CA_2char': [120, 606, 94, 94] - 'US:CA_3char': [0, 606, 112, 92] - 'US:CA_4char': [808, 510, 124, 92] - 'US:CA_5char': [672, 510, 128, 92] - 'US:I_1char': [0, 710, 90, 100] - 'US:I_2char': [138, 314, 102, 102] - 'US:I_3char': [0, 314, 132, 100] - 'US:I_4char': [756, 210, 140, 100] - 'US:I_5char': [596, 210, 152, 100] - 'US:NY_1char': [768, 418, 72, 88] - 'US:NY_2char': [112, 418, 88, 88] - 'US:NY_3char': [0, 418, 104, 86] - 'US:NY_4char': [896, 314, 116, 86] - 'US:NY_5char': [768, 314, 120, 86] - 'US:PA_1char': [688, 418, 72, 88] - 'US:PA_2char': [592, 418, 88, 88] - 'US:PA_3char': [472, 418, 112, 88] - 'US:PA_4char': [344, 418, 120, 88] - 'US:PA_5char': [208, 418, 128, 88] - 'US:US_1char': [900, 606, 88, 94] - 'US:US_2char': [788, 608, 106, 94] - 'US:US_3char': [642, 606, 138, 100] - 'US:US_4char': [478, 606, 158, 100] - 'US:US_5char': [308, 606, 164, 100] + 'US:CA-1char': [688, 786, 82, 92] + 'US:CA-2char': [588, 786, 92, 92] + 'US:CA-3char': [468, 786, 112, 92] + 'US:CA-4char': [336, 786, 124, 92] + 'US:CA-5char': [200, 786, 128, 92] + 'US:I-1char': [514, 890, 90, 100] + 'US:I-2char': [0, 502, 102, 102] + 'US:I-3char': [856, 370, 134, 100] + 'US:I-4char': [708, 370, 140, 100] + 'US:I-5char': [548, 370, 152, 100] + 'US:NY-1char': [656, 606, 72, 88] + 'US:NY-2char': [0, 606, 88, 88] + 'US:NY-3char': [880, 502, 104, 86] + 'US:NY-4char': [756, 502, 116, 86] + 'US:NY-5char': [628, 502, 120, 86] + 'US:PA-1char': [576, 606, 72, 88] + 'US:PA-2char': [480, 606, 88, 88] + 'US:PA-3char': [360, 606, 112, 88] + 'US:PA-4char': [232, 606, 120, 88] + 'US:PA-5char': [96, 606, 128, 88] + 'US:US-1char': [420, 890, 88, 94] + 'US:US-2char': [308, 892, 106, 94] + 'US:US-3char': [162, 890, 136, 100] + 'US:US-4char': [0, 890, 156, 100] + 'US:US-5char': [776, 786, 164, 100] airport: [952, 0, 38, 38] aerodrome: [952, 0, 38, 38] - allotments: [46, 814, 38, 38] - aquarium: [916, 168, 38, 38] - art-gallery: [824, 168, 38, 38] - art_gallery: [824, 168, 38, 38] - art: [824, 168, 38, 38] - athletics-sports: [368, 168, 38, 38] - pitch: [368, 168, 38, 38] - athletic_sports: [368, 168, 38, 38] - recreation_ground: [368, 168, 38, 38] - atm: [92, 168, 38, 38] - attraction: [550, 210, 38, 38] - automotive-shop: [184, 168, 38, 38] - car_repair: [184, 168, 38, 38] - automotive: [184, 168, 38, 38] - tyres: [184, 168, 38, 38] - bakery: [732, 168, 38, 38] - pastry: [732, 168, 38, 38] - chocolate: [732, 168, 38, 38] - bank: [138, 168, 38, 38] - bar: [414, 168, 38, 38] - pub: [414, 168, 38, 38] - baseball-field: [690, 84, 38, 38] - basketball-court: [644, 84, 38, 38] - battlefield: [324, 710, 38, 38] - bbq: [738, 710, 38, 38] - beach: [828, 84, 38, 38] - beach-resort: [232, 710, 38, 38] - beach_resort: [232, 710, 38, 38] - beer-garden: [458, 210, 38, 38] - biergarten: [458, 210, 38, 38] - brewery: [458, 210, 38, 38] + allotments: [460, 252, 38, 38] + aquarium: [824, 168, 38, 38] + atm: [0, 168, 38, 38] + attraction: [458, 210, 38, 38] + bakery: [640, 168, 38, 38] + bank: [46, 168, 38, 38] + category-predicate-money: [46, 168, 38, 38] + bar: [322, 168, 38, 38] + pub: [322, 168, 38, 38] + category-predicate-drink: [322, 168, 38, 38] + baseball: [552, 84, 38, 38] + basketball: [506, 84, 38, 38] + battlefield: [732, 210, 38, 38] + bbq: [138, 252, 38, 38] + beach: [690, 84, 38, 38] + beach_resort: [640, 210, 38, 38] bench: [630, 0, 38, 38] - bicycle-parking: [828, 126, 38, 38] - bike-shop: [46, 168, 38, 38] - bicycle: [46, 168, 38, 38] - bicycle_rental: [46, 168, 38, 38] - bike: [46, 168, 38, 38] - bike_shop: [46, 168, 38, 38] - boat-ferry: [906, 0, 38, 38] - ferry_terminal: [906, 0, 38, 38] - ferry-boat: [906, 0, 38, 38] - ferry: [906, 0, 38, 38] - boat-ramp: [276, 84, 38, 38] - slipway: [276, 84, 38, 38] - boat_ramp: [276, 84, 38, 38] - boat-rental: [92, 814, 38, 38] - boat_rental: [92, 814, 38, 38] - bookstore: [0, 168, 38, 38] - books: [0, 168, 38, 38] - bridge: [92, 126, 38, 38] - buddhism: [966, 84, 38, 38] - building: [598, 168, 38, 38] - auditorium: [598, 168, 38, 38] - terminal: [598, 168, 38, 38] - hangar: [598, 168, 38, 38] - retirement_home: [598, 168, 38, 38] - manor: [598, 168, 38, 38] - recreation_center: [598, 168, 38, 38] - apartments: [598, 168, 38, 38] - burger: [320, 210, 38, 38] - fast_food: [320, 210, 38, 38] - bus-station: [860, 0, 38, 38] - bus_stop: [860, 0, 38, 38] + bicycle: [964, 126, 38, 38] + bicycle_rental: [964, 126, 38, 38] + bicycle_rental_station: [964, 126, 38, 38] + bicycle_parking: [736, 126, 38, 38] + biergarten: [366, 210, 38, 38] + brewery: [366, 210, 38, 38] + boat_rental: [506, 252, 38, 38] + books: [918, 126, 38, 38] + bridge: [966, 84, 38, 38] + buddhist: [828, 84, 38, 38] + building: [506, 168, 38, 38] + hangar: [506, 168, 38, 38] + nursing_home: [506, 168, 38, 38] + manor: [506, 168, 38, 38] + apartments: [506, 168, 38, 38] + care_home: [506, 168, 38, 38] bus_station: [860, 0, 38, 38] - butcher: [46, 84, 38, 38] - campground: [0, 126, 38, 38] - camp_site: [0, 126, 38, 38] - caravan_site: [0, 126, 38, 38] - candy-store: [182, 210, 38, 38] - candy: [182, 210, 38, 38] - confectionery: [182, 210, 38, 38] - capital-l: [652, 814, 16, 16] - capital-m: [632, 814, 12, 12] - capital-s: [612, 814, 10, 10] - capital-xl: [676, 814, 20, 20] - capital-xs: [598, 814, 8, 8] - car-dealership: [964, 126, 38, 38] - car: [964, 126, 38, 38] - caravan-site: [462, 710, 38, 38] - caravan_site: [462, 710, 38, 38] - castle: [506, 42, 38, 38] - fort: [506, 42, 38, 38] - cemetery: [920, 84, 38, 38] - grave_yard: [920, 84, 38, 38] - church: [414, 126, 38, 38] - clothing-store: [0, 210, 38, 38] - clothes: [0, 210, 38, 38] - chothing-store: [0, 210, 38, 38] - "clothesstore": [0, 210, 38, 38] - fashion: [0, 210, 38, 38] - coffee-shop: [686, 168, 38, 38] - cafe: [686, 168, 38, 38] - college-university: [46, 210, 38, 38] - university: [46, 210, 38, 38] - college: [46, 210, 38, 38] - convenience-store: [184, 84, 38, 38] - convenience: [184, 84, 38, 38] - convenience_store: [184, 84, 38, 38] - beverages: [184, 84, 38, 38] - county_shield_1char: [848, 418, 72, 72] - county_shield_2char: [672, 314, 88, 72] - county_shield_3char: [560, 314, 104, 72] - county_shield_4char: [416, 314, 136, 72] - county_shield_5char: [248, 314, 160, 72] + bus_stop: [860, 0, 38, 38] + butcher: [0, 84, 38, 38] + cafe: [594, 168, 38, 38] + camp_site: [874, 84, 38, 38] + capital-l: [268, 294, 32, 32] + capital-m: [236, 294, 24, 24] + capital-s: [206, 294, 20, 20] + capital-xl: [356, 294, 40, 40] + capital-xs: [184, 294, 16, 16] + car: [872, 126, 38, 38] + category-namespace-mobility: [872, 126, 38, 38] + category-predicate-mobility: [872, 126, 38, 38] + car_repair: [92, 168, 38, 38] + car_sharing: [676, 0, 38, 38] + caravan_site: [870, 210, 38, 38] + castle: [460, 42, 38, 38] + fort: [460, 42, 38, 38] + cemetery: [782, 84, 38, 38] + grave_yard: [782, 84, 38, 38] + christian: [276, 126, 38, 38] + cinema: [870, 168, 38, 38] + clothes: [916, 168, 38, 38] + fashion: [916, 168, 38, 38] + college: [962, 168, 38, 38] + university: [962, 168, 38, 38] + confectionery: [90, 210, 38, 38] + convenience: [138, 84, 38, 38] + county_shield-1char: [736, 606, 72, 72] + county_shield-2char: [532, 502, 88, 72] + county_shield-3char: [420, 502, 104, 72] + county_shield-4char: [276, 502, 136, 72] + county_shield-5char: [108, 502, 160, 72] courthouse: [446, 0, 38, 38] + dam: [966, 252, 38, 38] dentist: [266, 0, 38, 38] - department-store: [918, 126, 38, 38] - department_store: [918, 126, 38, 38] + department_store: [826, 126, 38, 38] doctors: [224, 0, 38, 38] clinic: [224, 0, 38, 38] - dog-park: [646, 710, 38, 38] - dog_park: [646, 710, 38, 38] - dog_run: [646, 710, 38, 38] - dog-run: [646, 710, 38, 38] - dot-black: [506, 814, 38, 38] - dot-white: [460, 814, 38, 38] - drinking-water: [412, 210, 38, 38] - dry-cleaning: [138, 84, 38, 38] - dry_cleaning: [138, 84, 38, 38] - electronics-store: [782, 126, 38, 38] - electronics: [782, 126, 38, 38] - computer: [782, 126, 38, 38] - factory: [552, 168, 38, 38] - industrial: [552, 168, 38, 38] - chimney: [552, 168, 38, 38] - sub_station: [552, 168, 38, 38] - substation: [552, 168, 38, 38] - wastewater_plant: [552, 168, 38, 38] - works: [552, 168, 38, 38] - water_works: [552, 168, 38, 38] - plant: [552, 168, 38, 38] - generator: [552, 168, 38, 38] - fire-station: [400, 0, 38, 38] + dog_park: [46, 252, 38, 38] + dot-black: [92, 294, 38, 38] + dot-white: [920, 252, 38, 38] + drinking_water: [320, 210, 38, 38] + dry_cleaning: [92, 84, 38, 38] + electronics: [690, 126, 38, 38] + computer: [690, 126, 38, 38] + enclosure: [0, 294, 38, 38] + estate_agent: [184, 42, 38, 38] + factory: [460, 168, 38, 38] + industrial: [460, 168, 38, 38] + chimney: [460, 168, 38, 38] + substation: [460, 168, 38, 38] + wastewater_plant: [460, 168, 38, 38] + works: [460, 168, 38, 38] + water_works: [460, 168, 38, 38] + plant: [460, 168, 38, 38] + generator: [460, 168, 38, 38] + category-predicate-industry: [460, 168, 38, 38] + fast_food: [228, 210, 38, 38] + ferry: [906, 0, 38, 38] + ferry_terminal: [906, 0, 38, 38] fire_station: [400, 0, 38, 38] - firepit: [600, 710, 38, 38] - fishing-area: [508, 710, 38, 38] - fishing_area: [508, 710, 38, 38] - fitness: [0, 84, 38, 38] - gym: [0, 84, 38, 38] - fitness_center: [0, 84, 38, 38] - flower-shop: [368, 126, 38, 38] - florist: [368, 126, 38, 38] - forest: [228, 210, 38, 38] - conservation: [228, 210, 38, 38] - nature_reserve: [228, 210, 38, 38] - fountain: [506, 126, 38, 38] - garden: [874, 84, 38, 38] - gas: [230, 814, 38, 38] - gas_canister: [230, 814, 38, 38] - gas-station: [136, 210, 38, 38] - fuel: [136, 210, 38, 38] - generic: [552, 814, 38, 38] - subway_entrance: [552, 814, 38, 38] - generic_shield_1char: [592, 510, 72, 72] - generic_shield_2char: [488, 510, 98, 72] - generic_shield_3char: [348, 510, 132, 72] - generic_shield_4char: [188, 510, 152, 72] - generic_shield_5char: [0, 510, 180, 72] - geyser: [186, 710, 38, 38] - gift-shop: [322, 126, 38, 38] - gift: [322, 126, 38, 38] - golf-course: [598, 84, 38, 38] - golf_course: [598, 84, 38, 38] - government-building: [322, 168, 38, 38] - townhall: [322, 168, 38, 38] - public_building: [322, 168, 38, 38] - embassy: [322, 168, 38, 38] - grocery-store: [736, 126, 38, 38] - supermarket: [736, 126, 38, 38] - health_food: [736, 126, 38, 38] - greengrocer: [736, 126, 38, 38] - harbor-marina: [276, 168, 38, 38] - marina: [276, 168, 38, 38] - harbor: [276, 168, 38, 38] - harbor_marina: [276, 168, 38, 38] - dock: [276, 168, 38, 38] - mooring: [276, 168, 38, 38] - hardware-store: [966, 42, 38, 38] - hardware: [966, 42, 38, 38] - doityourself: [966, 42, 38, 38] - paint: [966, 42, 38, 38] - historic-site: [276, 126, 38, 38] + firepit: [0, 252, 38, 38] + fishing: [916, 210, 38, 38] + fishing_area: [916, 210, 38, 38] + fitness: [966, 42, 38, 38] + fitness_station: [966, 42, 38, 38] + florist: [230, 126, 38, 38] + forest: [136, 210, 38, 38] + natural_forest: [136, 210, 38, 38] + nature_reserve: [136, 210, 38, 38] + conservation: [136, 210, 38, 38] + protected_area: [136, 210, 38, 38] + grass: [136, 210, 38, 38] + fountain: [368, 126, 38, 38] + fuel: [44, 210, 38, 38] + gallery: [732, 168, 38, 38] + garden: [736, 84, 38, 38] + gas_canister: [644, 252, 38, 38] + gate: [46, 294, 38, 38] + generic: [138, 294, 38, 38] + category-namespace-other: [138, 294, 38, 38] + category-predicate-addressing: [138, 294, 38, 38] + generic_shield-1char: [404, 698, 72, 72] + generic_shield-2char: [300, 698, 98, 72] + generic_shield-3char: [160, 698, 132, 72] + generic_shield-4char: [0, 698, 152, 72] + generic_shield-5char: [816, 606, 180, 72] + geyser: [594, 210, 38, 38] + gift: [184, 126, 38, 38] + golf_course: [460, 84, 38, 38] + government: [230, 168, 38, 38] + townhall: [230, 168, 38, 38] + public: [230, 168, 38, 38] + embassy: [230, 168, 38, 38] + category-predicate-civic: [230, 168, 38, 38] + hairdresser: [92, 42, 38, 38] + hardware: [920, 42, 38, 38] + doityourself: [920, 42, 38, 38] + painter: [920, 42, 38, 38] + historical: [138, 126, 38, 38] hospital: [182, 0, 38, 38] - hot-spring: [460, 84, 38, 38] - hot_spring: [460, 84, 38, 38] + category-namespace-health: [182, 0, 38, 38] + category-predicate-health: [182, 0, 38, 38] + hot_spring: [322, 84, 38, 38] hotel: [814, 0, 38, 38] motel: [814, 0, 38, 38] hostel: [814, 0, 38, 38] - hunting: [140, 710, 38, 38] - ice-cream-shop: [504, 210, 38, 38] - ice_cream: [504, 210, 38, 38] - information: [96, 710, 38, 38] - info: [96, 710, 38, 38] - jewelry-store: [828, 42, 38, 38] - jewelry: [828, 42, 38, 38] - jewelry_store: [828, 42, 38, 38] + category-predicate-sleep: [814, 0, 38, 38] + hunting: [548, 210, 38, 38] + ice_cream: [412, 210, 38, 38] + information: [504, 210, 38, 38] + jewelry: [782, 42, 38, 38] + jewish: [44, 0, 38, 38] landmark: [354, 0, 38, 38] memorial: [354, 0, 38, 38] monument: [354, 0, 38, 38] - wayside_shrine: [354, 0, 38, 38] tower: [354, 0, 38, 38] beacon: [354, 0, 38, 38] - laundry: [782, 42, 38, 38] - dry_cleaning: [782, 42, 38, 38] + laundry: [736, 42, 38, 38] library: [0, 0, 38, 38] - light-rail: [768, 0, 38, 38] light_rail: [768, 0, 38, 38] tram_stop: [768, 0, 38, 38] - lighthouse: [414, 84, 38, 38] - liquor-store: [690, 126, 38, 38] - alcohol: [690, 126, 38, 38] - liquor: [690, 126, 38, 38] - mall: [736, 42, 38, 38] - market: [690, 42, 38, 38] - variety_store: [690, 42, 38, 38] - boutique: [690, 42, 38, 38] - dairy: [690, 42, 38, 38] - retail: [690, 42, 38, 38] - mine: [874, 42, 38, 38] - mobile-phone-shop: [598, 42, 38, 38] - mobile_phone: [598, 42, 38, 38] - mosque: [90, 0, 38, 38] - motorcycle: [876, 710, 38, 38] - mountain: [368, 84, 38, 38] - peak: [368, 84, 38, 38] - movie-theatre: [962, 168, 38, 38] - cinema: [962, 168, 38, 38] - movie-theater: [962, 168, 38, 38] - museum: [230, 126, 38, 38] - observatory: [230, 126, 38, 38] - music-store: [460, 42, 38, 38] - music: [460, 42, 38, 38] - musical_instrument: [460, 42, 38, 38] - newsstand: [414, 42, 38, 38] - kiosk: [414, 42, 38, 38] - newsagent: [414, 42, 38, 38] - observatory: [184, 814, 38, 38] - office: [782, 84, 38, 38] - insurance: [782, 84, 38, 38] - company: [782, 84, 38, 38] - optical-shop: [368, 42, 38, 38] - optician: [368, 42, 38, 38] - optical_shop: [368, 42, 38, 38] - outdoor: [322, 814, 38, 38] - park: [460, 126, 38, 38] - parking: [874, 126, 38, 38] - performing-arts: [778, 168, 38, 38] - theater: [778, 168, 38, 38] - theatre: [778, 168, 38, 38] - pet-store: [322, 42, 38, 38] - pet: [322, 42, 38, 38] - pet-service: [322, 42, 38, 38] - pet_store: [322, 42, 38, 38] - pharmacy: [92, 84, 38, 38] - chemist: [92, 84, 38, 38] - photography-lab: [276, 42, 38, 38] - photo_studio: [276, 42, 38, 38] - photography_lab: [276, 42, 38, 38] - photographer: [276, 42, 38, 38] - picnic-spot: [830, 710, 38, 38] - picnic_site: [830, 710, 38, 38] - picnic_table: [830, 710, 38, 38] + lighthouse: [276, 84, 38, 38] + liquor: [598, 126, 38, 38] + alcohol: [598, 126, 38, 38] + mall: [690, 42, 38, 38] + marina: [184, 168, 38, 38] + dock: [184, 168, 38, 38] + mine: [828, 42, 38, 38] + mobile_phone: [552, 42, 38, 38] + motorcycle: [276, 252, 38, 38] + museum: [92, 126, 38, 38] + music: [414, 42, 38, 38] + muslim: [90, 0, 38, 38] + newspaper: [368, 42, 38, 38] + kiosk: [368, 42, 38, 38] + observatory: [598, 252, 38, 38] + office: [644, 84, 38, 38] + insurance: [644, 84, 38, 38] + company: [644, 84, 38, 38] + category-predicate-service: [644, 84, 38, 38] + optician: [322, 42, 38, 38] + outdoor: [736, 252, 38, 38] + park: [322, 126, 38, 38] + national_park: [322, 126, 38, 38] + battlefield: [322, 126, 38, 38] + protected_area: [322, 126, 38, 38] + category-predicate-nature: [322, 126, 38, 38] + parking: [782, 126, 38, 38] + peak: [230, 84, 38, 38] + pet: [276, 42, 38, 38] + pharmacy: [46, 84, 38, 38] + photographic_laboratory: [230, 42, 38, 38] + photographer: [230, 42, 38, 38] + picnic_site: [230, 252, 38, 38] + picnic_table: [230, 252, 38, 38] pier: [722, 0, 38, 38] - playground: [552, 42, 38, 38] + place_of_worship: [368, 168, 38, 38] + chapel: [368, 168, 38, 38] + wayside_shrine: [368, 168, 38, 38] + category-predicate-religion: [368, 168, 38, 38] + playground: [506, 42, 38, 38] police: [308, 0, 38, 38] - pool: [322, 84, 38, 38] - swimming_pool: [322, 84, 38, 38] - post-office: [506, 168, 38, 38] - post_office: [506, 168, 38, 38] - quarry: [920, 42, 38, 38] - mineshaft: [920, 42, 38, 38] - adit: [920, 42, 38, 38] - ranger-station: [784, 710, 38, 38] - ranger_station: [784, 710, 38, 38] - real-estate: [230, 42, 38, 38] - estate_agent: [230, 42, 38, 38] - real_estate: [230, 42, 38, 38] - recreation-track: [968, 710, 38, 38] - recreation_track: [968, 710, 38, 38] - recycling-facility: [184, 42, 38, 38] - recycling: [184, 42, 38, 38] - rental-car: [676, 0, 38, 38] - car_rental: [676, 0, 38, 38] - car_sharing: [676, 0, 38, 38] - restaurant: [274, 210, 38, 38] - deli: [274, 210, 38, 38] + post_office: [414, 168, 38, 38] + quarry: [874, 42, 38, 38] + mineshaft: [874, 42, 38, 38] + adit: [874, 42, 38, 38] + ranger_station: [184, 252, 38, 38] + recreation_track: [368, 252, 38, 38] + recycling: [138, 42, 38, 38] + restaurant: [182, 210, 38, 38] + category-namespace-eat_and_drink: [182, 210, 38, 38] + category-predicate-eat: [182, 210, 38, 38] + retail: [644, 42, 38, 38] + store: [644, 42, 38, 38] + category-namespace-shop_and_service: [644, 42, 38, 38] + category-predicate-shop: [644, 42, 38, 38] ruin: [584, 0, 38, 38] ruins: [584, 0, 38, 38] archaeological_site: [584, 0, 38, 38] - salon-barber: [138, 42, 38, 38] - hairdresser: [138, 42, 38, 38] - salon: [138, 42, 38, 38] - beauty_salon: [138, 42, 38, 38] - school: [736, 84, 38, 38] - kindergarten: [736, 84, 38, 38] - scuba-diving: [276, 814, 38, 38] - scuba_diving: [276, 814, 38, 38] - dive_centre: [276, 814, 38, 38] - shoe-store: [644, 42, 38, 38] - shoes: [644, 42, 38, 38] - shoe_store: [644, 42, 38, 38] - shower: [416, 710, 38, 38] - ski-area: [552, 126, 38, 38] - slipway: [370, 710, 38, 38] - soccer-field: [552, 84, 38, 38] - spiritual-center: [460, 168, 38, 38] - spiritual_center: [460, 168, 38, 38] - place_of_worship: [460, 168, 38, 38] - wayside_chapel: [460, 168, 38, 38] - sporting-goods-shop: [92, 42, 38, 38] - sporting_goods: [92, 42, 38, 38] - sports: [92, 42, 38, 38] - outdoor: [92, 42, 38, 38] - spring: [506, 84, 38, 38] - stadium: [644, 126, 38, 38] - subway-entrance: [538, 0, 38, 38] - summer-camp: [0, 814, 38, 38] - summer_camp: [0, 814, 38, 38] - swimming-area: [554, 710, 38, 38] - swimming_area: [554, 710, 38, 38] - synagogue: [44, 0, 38, 38] - tailor-shop: [46, 42, 38, 38] + school: [598, 84, 38, 38] + kindergarten: [598, 84, 38, 38] + category-namespace-education_and_religion: [598, 84, 38, 38] + category-predicate-education: [598, 84, 38, 38] + scuba_diving: [690, 252, 38, 38] + dive_centre: [690, 252, 38, 38] + sdk_shield-1char: [484, 698, 84, 84] + sdk_shield-2char: [576, 698, 112, 84] + sdk_shield-3char: [696, 698, 144, 84] + sdk_shield-4char: [848, 698, 168, 84] + sdk_shield-5char: [0, 786, 192, 84] + shoemaker: [598, 42, 38, 38] + shower: [824, 210, 38, 38] + ski: [414, 126, 38, 38] + winter_sports: [414, 126, 38, 38] + ski_rental: [414, 126, 38, 38] + ski_school: [414, 126, 38, 38] + ski_jumping: [414, 126, 38, 38] + skiing: [414, 126, 38, 38] + slipway: [778, 210, 38, 38] + soccer: [414, 84, 38, 38] + sports: [276, 168, 38, 38] + pitch: [276, 168, 38, 38] + sports_centre: [276, 168, 38, 38] + recreation_ground: [276, 168, 38, 38] + spring: [368, 84, 38, 38] + stadium: [506, 126, 38, 38] + subway_entrance: [538, 0, 38, 38] + summer_camp: [414, 252, 38, 38] + supermarket: [644, 126, 38, 38] + greengrocer: [644, 126, 38, 38] + swimming_area: [962, 210, 38, 38] + swimming_pool: [552, 126, 38, 38] tailor: [46, 42, 38, 38] - telescope: [138, 814, 38, 38] - tennis: [598, 126, 38, 38] - theme-park: [184, 126, 38, 38] - theme_park: [184, 126, 38, 38] - miniature_golf: [184, 126, 38, 38] - toilets: [46, 126, 38, 38] - townspot-l: [862, 814, 16, 16] - townspot-l-rev: [756, 814, 16, 16] - townspot-m: [842, 814, 12, 12] - townspot-m-rev: [736, 814, 12, 12] - townspot-s: [824, 814, 10, 10] - townspot-s-rev: [718, 814, 10, 10] - townspot-xl: [886, 814, 20, 20] - townspot-xl-rev: [780, 814, 20, 20] - townspot-xs: [808, 814, 8, 8] - townspot-xs-rev: [704, 814, 6, 6] - toy-game-store: [0, 42, 38, 38] + telescope: [552, 252, 38, 38] + tennis: [460, 126, 38, 38] + theatre: [686, 168, 38, 38] + category-predicate-fun: [686, 168, 38, 38] + theme_park: [46, 126, 38, 38] + amusement_ride: [46, 126, 38, 38] + toilets: [920, 84, 38, 38] + townspot-l: [656, 294, 32, 32] + townspot-l-rev: [484, 294, 32, 32] + townspot-m: [624, 294, 24, 24] + townspot-m-rev: [452, 294, 24, 24] + townspot-s: [596, 294, 20, 20] + townspot-s-rev: [424, 294, 20, 20] + townspot-xl: [696, 294, 40, 40] + townspot-xl-rev: [524, 294, 38, 38] + townspot-xs: [572, 294, 16, 16] + townspot-xs-rev: [404, 294, 12, 12] toys: [0, 42, 38, 38] - baby_goods: [0, 42, 38, 38] - traffic-signal: [92, 210, 38, 38] - traffic_signals: [92, 210, 38, 38] - trailhead: [368, 814, 38, 38] - train-station: [492, 0, 38, 38] + traffic_signals: [0, 210, 38, 38] + trailhead: [782, 252, 38, 38] + train_station: [492, 0, 38, 38] station: [492, 0, 38, 38] - train-staion: [492, 0, 38, 38] - tree: [414, 814, 38, 38] - veterinarian: [136, 0, 38, 38] - pet_care: [136, 0, 38, 38] + category-predicate-transport: [492, 0, 38, 38] + tree: [828, 252, 38, 38] + tree-s: [874, 252, 38, 38] + ux-current-location: [294, 370, 88, 88] + ux-locate-off: [824, 294, 72, 72] + ux-locate-on: [744, 294, 72, 72] + ux-route-arrow: [0, 370, 128, 128] + ux-route-start: [214, 370, 72, 92] + ux-route-stop: [136, 370, 72, 92] + ux-search-active: [388, 370, 72, 108] + ux-search-inactive: [468, 370, 72, 108] + ux-transit-stop: [308, 296, 42, 36] veterinary: [136, 0, 38, 38] - view-point: [870, 168, 38, 38] - viewpoint: [870, 168, 38, 38] - view_point: [870, 168, 38, 38] - vista: [870, 168, 38, 38] - vineyard: [230, 168, 38, 38] - volcano: [230, 84, 38, 38] - water-tower: [922, 710, 38, 38] - water_tower: [922, 710, 38, 38] - waterfall: [692, 710, 38, 38] - waterpark: [278, 710, 38, 38] - water_park: [278, 710, 38, 38] - wine-bar: [366, 210, 38, 38] - winery: [640, 168, 38, 38] - wine: [640, 168, 38, 38] - zoo: [138, 126, 38, 38] - # - ux-current-location: [294, 856, 88, 88] - ux-locate-off: [628, 856, 72, 72] - ux-locate-on: [548, 856, 72, 72] - ux-route-arrow: [0, 856, 128, 128] - ux-route-start: [214, 856, 72, 92] - ux-route-stop: [136, 856, 72, 92] - ux-search-active: [388, 856, 72, 108] - ux-search-inactive: [468, 856, 72, 108] - # - # HACK: not currently in source sprite sheet (capital-xl) - ux-transit-stop: [676, 814, 20, 20] + viewpoint: [778, 168, 38, 38] + category-namespace-do_and_see: [778, 168, 38, 38] + category-predicate-attraction: [778, 168, 38, 38] + vineyard: [138, 168, 38, 38] + volcano: [184, 84, 38, 38] + water_park: [686, 210, 38, 38] + water_slide: [686, 210, 38, 38] + water_tower: [322, 252, 38, 38] + waterfall: [92, 252, 38, 38] + wine: [274, 210, 38, 38] + winery: [548, 168, 38, 38] + zoo: [0, 126, 38, 38] building-grid: url: images/building-grid.gif @@ -770,6 +834,10 @@ sources: # mz_default_point: # type: GeoJSON # url: https://gist.githubusercontent.com/anonymous/16324c771edfce45be0721390389b878/raw/7dbaebf17da7da8562e6c6f8768bc8cff83efa88/map.geojson +# # Default shield styling (SDK) +# mz_default_shield: +# type: GeoJSON +# url: https://gist.githubusercontent.com/nvkelso/3c08dba1eced4d01df98c1a9a7801162/raw/d83a5a396fc7b22309b8ca89336ad2dcfff6c452/map.geojson # # Default line styling (SDK) # mz_default_line: # type: GeoJSON @@ -799,6 +867,10 @@ styles: base: lines dash: [1.25, 1.25] dash_background_color: [0.808,0.860,0.851] + dashed_big: + base: lines + dash: [2.0, 1.0] + dash_background_color: [0.808,0.860,0.851] dashedTunnel: base: lines dash: [5, 3] @@ -1178,19 +1250,25 @@ styles: ux-location-gem-overlay: base: points texture: pois - interactive: true + interactive: global.interactive blend: overlay blend_order: 2 ux-icons-overlay: base: points texture: pois - interactive: true + interactive: global.interactive blend: overlay blend_order: 3 sdk-point-overlay: base: points texture: pois - interactive: true + interactive: global.interactive + blend: overlay + blend_order: 3 + sdk-shield-overlay: + base: points + texture: pois + interactive: global.interactive blend: overlay blend_order: 3 sdk-line-overlay: @@ -1234,7 +1312,6 @@ layers: data: { source: mz_current_location } draw: ux-location-gem-overlay: - interactive: true sprite: ux-current-location size: 36px collide: false @@ -1245,7 +1322,6 @@ layers: data: { source: mz_route_location } draw: ux-location-gem-overlay: - interactive: true sprite: ux-route-arrow size: [60px,60px] collide: false @@ -1256,7 +1332,7 @@ layers: data: { source: mz_route_start } draw: ux-icons-overlay: - interactive: true + interactive: global.interactive priority: 1 sprite: ux-route-start size: [36px,46px] @@ -1269,7 +1345,7 @@ layers: data: { source: mz_route_destination } draw: ux-icons-overlay: - interactive: true + interactive: global.interactive priority: 1 sprite: ux-route-stop size: [36px,46px] @@ -1282,7 +1358,7 @@ layers: data: { source: mz_route_transit_stop } draw: ux-icons-overlay: - interactive: true + interactive: global.interactive sprite: ux-transit-stop size: [15px,15px] collide: false @@ -1293,7 +1369,7 @@ layers: data: { source: mz_search_result } draw: ux-icons-overlay: - interactive: true + interactive: global.interactive sprite: ux-search-active size: [36px,54px] collide: false @@ -1310,7 +1386,7 @@ layers: data: { source: mz_dropped_pin } draw: ux-icons-overlay: - interactive: true + interactive: global.interactive sprite: ux-search-active size: [36px,54px] collide: false @@ -1324,7 +1400,7 @@ layers: data: { source: mz_default_point } draw: sdk-point-overlay: - interactive: true + interactive: global.interactive sprite: ux-search-active size: [36px,54px] collide: false @@ -1332,6 +1408,115 @@ layers: transition: [show, hide]: time: 0s + mz_default_shield: + data: { source: mz_default_shield } + draw: + sdk-shield-overlay: + interactive: global.interactive + sprite: | + function() { + if( feature.shield_text ) { + return ('sdk_shield-' + feature.shield_text.length + 'char'); + } else { + return ('sdk_shield-' + feature.name.length + 'char'); + } + } + sprite_default: sdk_shield-1char + color: global.sdk_shield_color + collide: false + transition: + [show, hide]: + time: 0s + text: + # offset: [0px, -1px] + text_source: | + function() { + if( feature.shield_text ) { + return feature.shield_text; + } else { + return feature.name; + } + } + anchor: center + font: + family: Montserrat + fill: global.sdk_shield_text_color + style: bold + size: [[7,7px],[12,8px],[16,11px]] + + width_1char: + filter: | + function() { + if( feature.shield_text ) { + return (feature.shield_text.length === 1); + } else { + return (feature.name.length === 1); + } + } + draw: + sdk-shield-overlay: + size: [[6,[16px,16px]],[13,[18px,18px]],[16,[21px,21px]]] + width_2char: + filter: | + function() { + if( feature.shield_text ) { + return (feature.shield_text.length === 2); + } else { + return (feature.name.length === 2); + } + } + draw: + sdk-shield-overlay: + size: [[6,[21px,16px]],[13,[24px,18px]],[16,[28px,21px]]] + width_3char: + filter: | + function() { + if( feature.shield_text ) { + return (feature.shield_text.length === 3); + } else { + return (feature.name.length === 3); + } + } + draw: + sdk-shield-overlay: + size: [[6,[27px,16px]],[13,[31px,18px]],[16,[36px,21px]]] + width_4char: + filter: | + function() { + if( feature.shield_text ) { + return (feature.shield_text.length === 4); + } else { + return (feature.name.length === 4); + } + } + draw: + sdk-shield-overlay: + size: [[6,[32px,16px]],[13,[36px,18px]],[16,[41px,21px]]] + width_5char: + filter: | + function() { + if( feature.shield_text ) { + return (feature.shield_text.length === 5); + } else { + return (feature.name.length === 5); + } + } + draw: + sdk-shield-overlay: + size: [[6,[37px,16px]],[13,[41px,18px]],[16,[48px,21px]]] + # this is kinda a hack + width_longggggg: + filter: | + function() { + if( feature.shield_text ) { + return (feature.shield_text.length > 5); + } else { + return (feature.name.length > 5); + } + } + draw: + sdk-shield-overlay: + visible: false mz_default_line: data: { source: mz_default_line } draw: @@ -1362,7 +1547,6 @@ layers: data: { source: mapzen, layer: water } draw: polygons: - #interactive: true order: function() { return feature.sort_rank; } #color: [0.608,0.925,0.965] later: @@ -1491,7 +1675,6 @@ layers: draw: lines: order: function() { return feature.sort_rank; } - interactive: true color: [[10,[0.472,0.834,0.890]],[14,[0.511,0.877,0.930]]] # color: [0.592,0.929,0.961] #color: [[11,[0.753,0.820,0.835]],[12,[0.710,0.800,0.824]],[13,[0.886,0.937,0.988]]] @@ -1515,13 +1698,12 @@ layers: lines: visible: false dots-lines: - interactive: true order: function() { return feature.sort_rank; } color: [[10,[0.472,0.834,0.890]],[14,[0.511,0.877,0.930]]] width: [[10,0px],[11,0.5px],[12,1px],[13,2px],[14,3px],[15,4px],[16,5px]] water-line-labels: - data: { source: mapzen, layer: [water] } + data: { source: mapzen, layer: water } visible: *text_visible_water_labels filter: all: @@ -1531,16 +1713,13 @@ layers: - $zoom: { min: 11 } draw: text-blend-order: + text_source: global.ux_language_text_source font: fill: *text_fill_water family: *text_font_family style: italic - weight: 400 - size: [[12,11px],[13,12px]] - water-line-labels-z17: - filter: { $zoom: [17] } - draw: - text-blend-order: { font: { size: 14px } } + weight: normal + size: [[12,10px],[17,14px]] not-river-not-stream: filter: { kind: [canal,dam,ditch,drain], $zoom: { max: 14 } } draw: @@ -1557,7 +1736,6 @@ layers: filter: { not: { kind: [platform] }, $zoom: { min: 14 } } draw: lines: - interactive: true order: function() { return feature.sort_rank || 275; } railway: filter: { kind: [railway,train] } @@ -1584,7 +1762,6 @@ layers: filter: { kind: rail, not: { railway: [subway,light_rail,tram] } } draw: lines: - interactive: true order: function() { return feature.sort_rank; } color: [0.588,0.671,0.698] width: [[12,0px],[13,0.25px],[14,0.4px],[15,0.75px],[16,0.75px],[18,1m]] @@ -1617,7 +1794,6 @@ layers: filter: { not: { kind: rail } } draw: lines: - interactive: true #color: black width: 1px order: function() { return feature.sort_rank; } @@ -1626,6 +1802,7 @@ layers: order: 352 text-blend-order: visible: false # labels are enabled by each layer below + text_source: global.ux_language_text_source font: family: *text_font_family weight: 500 @@ -1655,7 +1832,7 @@ layers: width: function () { return 3/16 * Math.log($zoom); } natural_earth_highways: - filter: { source: 'naturalearthdata.com' } + filter: { source: 'naturalearthdata.com', $zoom: { max: 8 } } draw: lines: color: [[5, [0.5,0.5,0.5]],[6, [0.350,0.350,0.350]]] @@ -1664,7 +1841,7 @@ layers: color: *highway_casing1 width: [[9, 0px], [10, 0px], [12, 1px], [16, 2px]] major_road: - filter: { type: ['Secondary Highway','Road'] } + filter: { kind: major_road } draw: lines: color: [[5, [0.75,0.75,0.75]], [8, [0.4,0.4,0.4]], [13, [0.4,0.4,0.4]], [17, *major_road1]] @@ -1673,7 +1850,7 @@ layers: outline: width: [[8, 0.0px], [9, 0.0px], [11, .5px], [16, .75px]] minor_road: - filter: { type: 'Unknown' } + filter: { kind: minor_road } draw: lines: color: [[12, *minor_road1], [17, *minor_road2]] @@ -1681,7 +1858,7 @@ layers: # outline: # width: [[12, 0px], [14, .5px], [17, 1px]] ferry: - filter: { kind: Ferry } + filter: { kind: ferry } draw: lines: color: *ferry1 @@ -1689,7 +1866,7 @@ layers: outline: width: 0px highway: - filter: { kind: highway } + filter: { kind: highway, $zoom: { min: 8 } } draw: lines: color: [[8, [0.408,0.430,0.461]], [14, [0.408,0.430,0.461]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]] @@ -1739,54 +1916,6 @@ layers: cap: round outline: cap: butt - # labels-highway-early: - # filter: { $zoom: [7,8,9] } - # draw: - # text-blend-order: - # priority: 50 - # visible: *text_visible_shields - # text_source: ref - # font: - # fill: [0.408,0.427,0.459] - # weight: 400 - # size: 9px - # stroke: { color: [0.898,0.906,0.910], width: 4 } - # labels-highway-z10: - # filter: - # $zoom: 10 - # draw: - # text-blend-order: - # visible: *text_visible_shields - # text_source: ref - # font: - # fill: [0.408,0.427,0.459] - # weight: 400 - # size: 9px - # stroke: { color: [0.898,0.906,0.910], width: 4 } - # labels-highway-z11: - # filter: - # $zoom: 11 - # draw: - # text-blend-order: - # visible: *text_visible_shields - # text_source: ref - # font: - # fill: [0.408,0.427,0.459] - # weight: 600 - # size: 10px - # stroke: { color: [0.898,0.906,0.910], width: 4 } - # labels-highway-z12: - # filter: - # $zoom: 12 - # draw: - # text-blend-order: - # visible: *text_visible_shields - # text_source: ref - # font: - # fill: [0.408,0.427,0.459] - # weight: 600 - # size: 10px - # stroke: { color: [0.898,0.906,0.910], width: 4 } labels-highway-z13: filter: $zoom: 13 @@ -1794,8 +1923,6 @@ layers: text-blend-order: priority: 50 visible: *text_visible_highway - #text_source: ref - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.408,0.427,0.459] weight: 600 @@ -1808,8 +1935,6 @@ layers: text-blend-order: priority: 50 visible: *text_visible_highway - #text_source: ref - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.408,0.427,0.459] weight: 600 @@ -1958,7 +2083,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary_e2 - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] size: 11px @@ -1969,7 +2093,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] weight: 600 @@ -1981,7 +2104,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] weight: 600 @@ -1993,7 +2115,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] weight: 600 @@ -2005,7 +2126,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] weight: 600 @@ -2047,7 +2167,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.495,0.511,0.532] size: 9px @@ -2059,7 +2178,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.495,0.511,0.532] size: 10px @@ -2071,7 +2189,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.495,0.511,0.532] size: 11px @@ -2083,7 +2200,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.495,0.511,0.532] size: 11px @@ -2094,7 +2210,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.495,0.511,0.532] size: 12px @@ -2105,7 +2220,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] weight: 600 @@ -2117,7 +2231,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] weight: 600 @@ -2129,7 +2242,6 @@ layers: text-blend-order: priority: 51 visible: *text_visible_trunk_primary - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.495,0.511,0.532] weight: 600 @@ -2206,7 +2318,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 11px @@ -2217,7 +2328,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 11px @@ -2228,7 +2338,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] weight: 600 @@ -2240,7 +2349,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] weight: 600 @@ -2259,7 +2367,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] stroke: { color: [0.843,0.961,0.914], width: 4 } @@ -2269,7 +2376,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] stroke: { color: [1.00,1.00,1.00], width: 4 } @@ -2292,7 +2398,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 9px @@ -2304,7 +2409,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 9px @@ -2316,7 +2420,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 10px @@ -2327,7 +2430,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 12px @@ -2338,8 +2440,6 @@ layers: text-blend-order: priority: 56 visible: *text_visible_secondary - #text_source: ref - #text_source: function() { if( feature.ref && feature.name ) { return feature.ref + " " + feature.name; } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 13px @@ -2412,7 +2512,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] stroke: { color: [0.843,0.961,0.914], width: 4 } @@ -2422,7 +2521,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] stroke: { color: [1.00,1.00,1.00], width: 4 } @@ -2444,7 +2542,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 9px @@ -2455,7 +2552,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary_e - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 9px @@ -2466,7 +2562,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 10px @@ -2477,7 +2572,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 12px @@ -2488,7 +2582,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 13px @@ -2499,7 +2592,6 @@ layers: text-blend-order: priority: 57 visible: *text_visible_tertiary - #text_source: function() { if( feature.ref && feature.name ) { if( feature.ref.length < 6 ) { return feature.ref + " " + feature.name; } else { return feature.name; } } else { return feature.name; } } font: fill: [0.536,0.556,0.581] size: 13px @@ -2547,7 +2639,6 @@ layers: text-blend-order: priority: 59 visible: *text_visible_minor_road_e - text_source: name font: fill: [0.536,0.556,0.581] stroke: { color: [0.843,0.961,0.914], width: 4 } @@ -2557,7 +2648,6 @@ layers: text-blend-order: priority: 59 visible: *text_visible_minor_road_e - text_source: name font: fill: [0.536,0.556,0.581] stroke: { color: [1.00,1.00,1.00], width: 4 } @@ -2610,7 +2700,6 @@ layers: text-blend-order: priority: 59 visible: *text_visible_minor_road_e - text_source: name font: fill: [0.536,0.556,0.581] size: 9px @@ -2621,7 +2710,6 @@ layers: text-blend-order: priority: 59 visible: *text_visible_minor_road_e - text_source: name font: fill: [0.536,0.556,0.581] size: 12px @@ -2632,7 +2720,6 @@ layers: text-blend-order: priority: 59 visible: *text_visible_minor_road_e - text_source: name font: fill: [0.40,0.40,0.40] size: 12px @@ -2643,7 +2730,6 @@ layers: text-blend-order: priority: 59 visible: *text_visible_minor_road - text_source: name font: fill: [0.40,0.40,0.40] size: 13px @@ -2669,7 +2755,6 @@ layers: text-blend-order: priority: 60 visible: *text_visible_service_road - text_source: name font: fill: [0.536,0.556,0.581] stroke: { color: [0.843,0.961,0.914], width: 4 } @@ -2729,7 +2814,6 @@ layers: text-blend-order: priority: 60 visible: *text_visible_service_road - text_source: name font: # need fill color? fill: [0.536,0.556,0.581] @@ -2741,770 +2825,229 @@ layers: text-blend-order: priority: 60 visible: *text_visible_service_road - text_source: name font: fill: [0.536,0.556,0.581] size: 13px stroke: { color: [0.969,0.973,0.973], width: 4 } - shields: + path: filter: - $zoom: { min: 6 } - # - # United State looks great with shield_text alone, but... - # - #shield_text: true # some roads don't have shield text, deal with that later - # - # Europe doesn't have many network relations set, so we could look for either - # shield_text or ref (with no shield_text) but... - # that makes United States look a bit funky with `(xxx)` and generic shields - # showing up in fields of custom state shields like US:CA and US:NY - # - any: - - shield_text: true # some roads don't have shield text, deal with that later - - all: - - shield_text: false # some roads don't have shield text, deal with that later - - ref: true - - kind_detail: [motorway, trunk, primary, secondary, tertiary] - # default + all: + - kind: [path, portage_way] + not: + - kind_detail: [footway, steps, track, cycleway] + - kind_detail: [pier] draw: - icons: - # you need to match any custom shield to the vector tile `network` values - sprite: | - function() { - if( feature.shield_text ) { - return ('generic_shield_' + feature.shield_text.length + 'char'); - } else { - return ('generic_shield_' + feature.ref.length + 'char'); - } - } - sprite_default: generic_shield_5char - priority: 58 - repeat_group: shields - repeat_distance: [[8,90px],[10,40px],[13,30px]] - placement: midpoint - placement_min_length_ratio: - - [8, 0.1] - - [9, 0.25] - - [10, 0.25] - - [11, 0.15] - - [12, 1] - - [13, 1.50] - - [14, 2.0] - cull_from_tile: true + dashedline: + order: function() { return feature.sort_rank; } visible: false - text: - offset: [0px, -0.5px] - repeat_distance: 200px - anchor: center - text_source: | - function() { - if( feature.shield_text ) { - return feature.shield_text; - } else { - return feature.ref; - } - } - font: - family: Montserrat - #fill: [0.308,0.308,0.308] - fill: [0.320,0.320,0.320] - size: [[7,7px],[12,8px],[16,11px]] - - default_priority_highway: + color: [0.350,0.350,0.350] + width: [[14, 0.35px], [15, 0.5px], [16, 1px], [17, 2px], [18, 3px], [19, 4px]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + early: filter: - all: - - kind_detail: motorway - - $zoom: { min: 9 } + $zoom: { max: 17 } draw: - icons: - priority: 47 - #color: yellow - visible: *text_visible_shields - - default_priority_trunk: - filter: - all: - - kind_detail: [trunk] - - $zoom: { min: 10 } + lines: + order: 351 + outline: + order: 350 + portage_way: + filter: { kind: portage_way } draw: - icons: - priority: 48 - #color: red - visible: *text_visible_shields - default_priority_primary: - filter: - all: - - kind_detail: [primary] - - $zoom: { min: 12 } + lines: + color: [0.350,0.350,0.350] + pedestrian: + filter: { kind_detail: pedestrian } draw: - icons: - priority: 49 - #color: aqua - visible: *text_visible_shields - default_priority_trunk_secondary: - filter: - all: - - kind_detail: [secondary] - - $zoom: { min: 12 } + lines: + color: [[16,[0.749,0.749,0.749]]] + width: [[14, 0.35px], [15, 0.35px], [16, 1px], [17, 2px], [18, 3px], [19, 4px]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + bridge: + filter: { is_bridge: true } draw: - icons: - priority: 53 - #color: blue - visible: *text_visible_shields - default_priority_trunk_tertiary: - filter: - all: - - kind_detail: tertiary - - $zoom: { min: 13 } + lines: + width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + cap: round + outline: + color: [[15,*path_bridge_casing2],[16,*path_bridge_casing1]] + width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + cap: butt + in_park: + filter: { landuse_kind: [park,nature_reserve,conservation,golf_course,garden] } draw: - icons: - priority: 55 - #color: green - visible: *text_visible_shields - # not-special: - # filter: - # not: { network: ['US:I','US:US'] } - # $zoom: { max: 9 } + dashedline: + color: [0.350,0.350,0.350] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + # golf_course: + # filter: { landuse_kind: golf_course } + # draw: + # lines: + # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + # nature_reserve: + # filter: { landuse_kind: nature_reserve } + # draw: + # lines: + # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + # conservation: + # filter: { landuse_kind: conservation } + # draw: + # lines: + # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + # in_cemetery_garden: + # filter: { landuse_kind: [cemetery,garden] } # draw: - # icons: - # visible: false - width_1char: - filter: | - function() { - if( feature.shield_text ) { - return (feature.shield_text.length === 1) - } else { - return (feature.ref.length === 1) - } - } + # lines: + # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + # in_zoo: + # filter: { landuse_kind: zoo } + # draw: + # lines: + # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + # in_university: + # filter: { landuse_kind: university } + # draw: + # lines: + # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + # in_hospital: + # filter: { landuse_kind: hospital } + # draw: + # lines: + # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + # outline: + # color: [0.790,0.790,0.790] + # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + labels-path: + filter: { $zoom: { min: 17 } } draw: - icons: - size: [[6,[14px,14px]],[13,[16px,16px]],[16,[18px,18px]]] - width_2char: - filter: | - function() { - if( feature.shield_text ) { - return (feature.shield_text.length === 2) - } else { - return (feature.ref.length === 2) - } - } + text-blend-order: + priority: 61 + visible: *text_visible_path + font: + fill: [0.536,0.556,0.581] + size: 12px + stroke: { color: *text_stroke, width: 4 } + track: + filter: { kind: path, kind_detail: track } + draw: + lines: + color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + width: [[13, 0px], [14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + cap: butt + join: round + outline: + color: [0.790,0.790,0.790] + width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + bridge: + filter: { is_bridge: true } draw: - icons: - size: [[6,[18px,14px]],[13,[20px,15px]],[16,[24px,18px]]] - width_3char: - filter: | - function() { - if( feature.shield_text ) { - return (feature.shield_text.length === 3) - } else { - return (feature.ref.length === 3) - } - } + lines: + cap: butt + width: [[13, 0px], [14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + cap: round + outline: + color: [1.0,1.0,1.0] + width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + cap: butt + in_park: + filter: { landuse_kind: [park,national_park,nature_reserve,conservation,golf_course,garden,battlefield] } draw: - icons: - size: [[6,[25px,14px]],[13,[27px,15px]],[16,[33px,18px]]] - width_4char: - filter: | - function() { - if( feature.shield_text ) { - return (feature.shield_text.length === 4) - } else { - return (feature.ref.length === 4) - } - } - draw: - icons: - size: [[6,[29px,14px]],[13,[31px,15px]],[16,[38px,18px]]] - # London sucks - early: - filter: { $zoom: { max: 14 } } - draw: - icons: - visible: false - width_5char: - filter: | - function() { - if( feature.shield_text ) { - return (feature.shield_text.length === 5) - } else { - return (feature.ref.length === 5) - } - } - draw: - icons: - size: [[6,[34px,14px]],[13,[37px,15px]],[16,[45px,18px]]] - # London sucks - early: - filter: { $zoom: { max: 14 } } - draw: - icons: - visible: false - # this is kinda a hack - width_longggggg: - filter: | - function() { - if( feature.shield_text ) { - return (feature.shield_text.length > 5) - } else { - return (feature.ref.length > 5) - } - } - draw: - icons: - visible: false - # missing-route-relations: - # filter: { shield_text: false } - # draw: - # lines: - # order: 1000 - # color: red - # width: 2px - # - # Now for the good stuff - # - legit-shields: - filter: { shield_text: true } - # draw: - # icons: - # color: red - # US Interstate roads - US-I: - filter: - network: 'US:I' - draw: - icons: - # you need to match any custom shield to the vector tile `network` values - sprite: function() { return (feature.network + '_' + feature.shield_text.length + 'char'); } - priority: 46 - visible: *text_visible_shields - text: - offset: [0px, 0.5px] - font: - fill: [1.0,1.0,1.0] - size: [[7,8px],[13,9px],[15,11px]] - width_1char: - filter: function() { return (feature.shield_text.length === 1) } - draw: - icons: - size: [[6,[15px,18px]],[13,[17px,20px]],[15,[22px,25px]]] - width_2char: - filter: function() { return (feature.shield_text.length === 2) } - draw: - icons: - size: [[6,[18px,18px]],[13,[20px,20px]],[15,[25px,25px]]] - width_3char: - filter: function() { return (feature.shield_text.length === 3) } - draw: - icons: - size: [[6,[23px,18px]],[13,[26px,20px]],[15,[33px,25px]]] - width_4char: - filter: function() { return (feature.shield_text.length === 4) } - draw: - icons: - size: [[6,[25px,18px]],[13,[27px,20px]],[15,[35px,25px]]] - width_5char: - filter: function() { return (feature.shield_text.length === 5) } - draw: - icons: - size: [[6,[26px,18px]],[13,[30px,20px]],[15,[38px,25px]]] - # US Federal Routes - US-US: - filter: - network: ['US:US','US:US:Business', 'US:US:Truck', 'US:US:Alternate'] - $zoom: { min: 7 } - draw: - icons: - # you need to match any custom shield to the vector tile `network` values - sprite: | - function() { return ('US:US_' + feature.shield_text.length + 'char'); } - priority: 47 - cull_from_tile: true - visible: *text_visible_shields - text: - offset: [0px, -0.7px] - font: - fill: [0.0,0.0,0.0] - size: [[7,8px],[13,9px],[15,11px]] - # early: - # filter: { $zoom: [7] } - # icons: - # visible: false - width_1char: - filter: function() { return (feature.shield_text.length === 1) } - draw: - icons: - size: [[6,[15px,17px]],[13,[17px,19px]],[15,[22px,24px]]] - width_2char: - filter: function() { return (feature.shield_text.length === 2) } - draw: - icons: - size: [[6,[18px,17px]],[13,[20px,19px]],[15,[26px,24px]]] - width_3char: - filter: function() { return (feature.shield_text.length === 3) } - draw: - icons: - size: [[6,[22px,17px]],[13,[25px,19px]],[15,[34px,25px]]] - width_4char: - filter: function() { return (feature.shield_text.length === 4) } - draw: - icons: - size: [[6,[25px,17px]],[13,[29px,19px]],[15,[39px,25px]]] - width_5char: - filter: function() { return (feature.shield_text.length === 5) } - draw: - icons: - size: [[6,[27px,17px]],[13,[30px,19px]],[15,[41px,25px]]] - # US State Routes - # US-states: - # # Match state highways: `US:??` - # filter: | - # function() { - # return feature.shield_text && - # /^US:(?!US)\w\w$/.test(feature.network) - # } - # draw: - # icons: - # # you need to match any custom shield to the vector tile `network` values - # priority: 18 - # early: - # filter: { $zoom: [7,8,9] } - # icons: - # visible: false - US-CA: - # Match California state highways: `US:CA` - filter: | - function() { - return feature.shield_text && - /^US:CA$/.test(feature.network) - } - draw: - icons: - sprite: function() { return (feature.network + '_' + feature.shield_text.length + 'char'); } - text: - offset: [0px, 1px] - font: - fill: [1.0,1.0,1.0] - size: [[7,7px],[13,9px],[15,10px]] - motorway: - filter: { kind_detail: [motorway], $zoom: [7,8] } - draw: - icons: - visible: *text_visible_shields - trunk: - filter: { kind_detail: [trunk], $zoom: [8,9] } - draw: - icons: - visible: *text_visible_shields - primary: - filter: { kind_detail: primary, $zoom: [10,11] } - draw: - icons: - visible: *text_visible_shields - width_1char: - filter: function() { return (feature.shield_text.length === 1) } - draw: - icons: - size: [[6,[14px,16px]],[13,[15px,18px]],[15,[18px,21px]]] - width_2char: - filter: function() { return (feature.shield_text.length === 2) } - draw: - icons: - size: [[6,[18px,18px]],[13,[20px,20px]],[15,[23px,23px]]] - width_3char: - filter: function() { return (feature.shield_text.length === 3) } - draw: - icons: - size: [[6,[21px,18px]],[13,[24px,20px]],[15,[28px,23px]]] - width_4char: - filter: function() { return (feature.shield_text.length === 4) } - draw: - icons: - size: [[6,[24px,18px]],[13,[26px,20px]],[15,[31px,23px]]] - width_5char: - filter: function() { return (feature.shield_text.length === 5) } - draw: - icons: - size: [[6,[25px,18px]],[13,[27px,20px]],[15,[32px,23px]]] - US-NY: - # Match New York state highways: `US:NY` - filter: | - function() { - return feature.shield_text && - /^US:NY$/.test(feature.network) - /* (/^US:NY$/.test(feature.network) || /^NY:US$/.test(feature.network)) */ - } - draw: - icons: - sprite: | - function() { return ( 'US:NY_' + feature.shield_text.length + 'char'); } - text: - # offset: [0px, 1px] - font: - fill: [0.0,0.0,0.0] - size: [[7,7px],[13,9px],[15,10px]] - width_1char: - filter: function() { return (feature.shield_text.length === 1) } - draw: - icons: - size: [[6,[13px,17px]],[13,[15px,19px]],[15,[18px,22px]]] - width_2char: - filter: function() { return (feature.shield_text.length === 2) } - draw: - icons: - size: [[6,[17px,17px]],[13,[19px,19px]],[15,[22px,22px]]] - width_3char: - filter: function() { return (feature.shield_text.length === 3) } - draw: - icons: - size: [[6,[20px,17px]],[13,[22px,19px]],[15,[27px,22px]]] - width_4char: - filter: function() { return (feature.shield_text.length === 4) } - draw: - icons: - size: [[6,[21px,17px]],[13,[24px,19px]],[15,[29px,22px]]] - width_5char: - filter: function() { return (feature.shield_text.length === 5) } - draw: - icons: - size: [[6,[22px,17px]],[13,[25px,19px]],[15,[30px,22px]]] - US-PA: - # Match Pennsylvania state highways - filter: | - function() { - return feature.shield_text && - /^US:PA$/.test(feature.network) - } - draw: - icons: - sprite: | - function() { return ( 'US:PA_' + feature.shield_text.length + 'char'); } - text: - offset: [0px, 1px] - font: - fill: [0.0,0.0,0.0] - size: [[7,7px],[13,9px],[15,10px]] - width_1char: - filter: function() { return (feature.shield_text.length === 1) } - draw: - icons: - size: [[6,[13px,17px]],[13,[15px,19px]],[15,[18px,22px]]] - width_2char: - filter: function() { return (feature.shield_text.length === 2) } - draw: - icons: - size: [[6,[17px,17px]],[13,[19px,19px]],[15,[22px,22px]]] - width_3char: - filter: function() { return (feature.shield_text.length === 3) } - draw: - icons: - size: [[6,[21px,17px]],[13,[24px,19px]],[15,[28px,22px]]] - width_4char: - filter: function() { return (feature.shield_text.length === 4) } - draw: - icons: - size: [[6,[22px,17px]],[13,[25px,19px]],[15,[30x,22px]]] - width_5char: - filter: function() { return (feature.shield_text.length === 5) } - draw: - icons: - size: [[6,[24px,17px]],[13,[27px,19px]],[15,[32px,22px]]] - # USA County Routes - US-counties: - # Match state highways: `US:??:*` - # - # this is very USA specific - # - # filter: | - # function() { - # return feature.shield_text && - # /^US:(?!US)\w\w:.*$/.test(feature.network) - # } - # - # this generic for any country with 3rd level networks (like county routes in USA) - # BEWARE: - # US:US:Business about 150 - # US:US:Truck - # US:US:Alternate - # - # STATE ROUTE - # ??:??:Loop about 200 - # ??:??:Spur about 200 - # ??:??:Business about 100 - # - # STATE TEXAS SPECIAL ROUTE - # US:TX:FM -- probably just state? there are 3k of these - # - # - filter: | - function() { - return feature.shield_text && - /^\w+:\w+:(!Alternate).+$/.test(feature.network) && - $zoom > 10 - } - draw: - icons: - # you need to match any custom shield to the vector tile `network` values - sprite: function() { return ('county_shield_' + feature.shield_text.length + 'char'); } - # priority: 19 - visible: *text_visible_shields - text: - font: - fill: [0.320,0.320,0.320] - #size: [[11,7px],[15,10px]] - # early: - # filter: { $zoom: { max: 11 } } - # draw: - # icons: - # visible: false - width_1char: - filter: function() { return (feature.shield_text.length === 1) } - draw: - icons: - size: [[6,[14px,14px]],[13,[16px,16px]],[15,[18px,18px]]] - width_2char: - filter: function() { return (feature.shield_text.length === 2) } - draw: - icons: - size: [[6,[16px,14px]],[13,[18px,15px]],[15,[22px,18px]]] - width_3char: - filter: function() { return (feature.shield_text.length === 3) } - draw: - icons: - size: [[6,[20px,14px]],[13,[21px,15px]],[15,[26px,18px]]] - width_4char: - filter: function() { return (feature.shield_text.length === 4) } - draw: - icons: - size: [[6,[25px,14px]],[13,[28px,15px]],[15,[34px,18px]]] - width_5char: - filter: function() { return (feature.shield_text.length === 5) } - draw: - icons: - size: [[6,[30px,14px]],[13,[33px,15px]],[15,[40px,18px]]] - path: + lines: + color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] + width: [[13, 0px], [14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] + outline: + color: [0.790,0.790,0.790] + width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] + steps: filter: all: - - kind: [path, portage_way] - not: - - kind_detail: [footway, steps, track, cycleway] - - kind_detail: [pier] + - kind: path + - kind_detail: steps draw: - dashedline: - order: function() { return feature.sort_rank; } - interactive: true + dashed: + #order: function() { return feature.sort_rank; } + order: 1005 + color: [0.501,0.650,0.650] + width: [[15, 0.6], [16, 1px], [17, 1px], [18, 4px], [19, 1.5m]] + lines: visible: false - color: [0.350,0.350,0.350] - width: [[14, 0.35px], [15, 0.5px], [16, 1px], [17, 2px], [18, 3px], [19, 4px]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - early: - filter: - $zoom: { max: 17 } - draw: - lines: - order: 351 - outline: - order: 350 - portage_way: - filter: { kind: portage_way } + order: 1000 + #width: [[13, 0.75px], [14, 0.85px], [15, 1.1px], [16, 2px], [17, 6px], [18, 7px], [19, 10px]] + #color: [[15,[0.120,0.600,0.520]],[16,[0.623,0.820,0.797]]] + color: [[14,[0.510,0.752,0.695]],[15,[0.671,0.839,0.820]],[16,[0.671,0.839,0.820]]] + width: [[13, 0.75px], [14, 0.6px], [15, 1px], [16, 2px], [17, 3px], [18, 4px], [19, 4px]] + visible: true + #color: purple + steps-late: + filter: { $zoom: { min: 17 } } draw: - lines: - color: [0.350,0.350,0.350] - pedestrian: - filter: { kind_detail: pedestrian } + # lines: + # color: [0.707,0.884,0.872] + # visible: true + # outline: + # width: [[17, 0px], [18, 1px], [19, 2px]] + # color: [0.850,0.850,0.850] + dashed: + width: [[17, 2px], [18, 3px], [19, 3.5px]] + color: [0.501,0.650,0.650] + early-show-as-lines-z14: + filter: { $zoom: { max: 16 } } draw: + dashed: + visible: false lines: - color: [[16,[0.749,0.749,0.749]]] - width: [[14, 0.35px], [15, 0.35px], [16, 1px], [17, 2px], [18, 3px], [19, 4px]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - bridge: - filter: { is_bridge: true } + visible: true + networked: + filter: { walking_network: true } draw: lines: - width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - cap: round - outline: - color: [[15,*path_bridge_casing2],[16,*path_bridge_casing1]] - width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - cap: butt - in_park: - filter: { landuse_kind: [park,nature_reserve,conservation,golf_course,garden] } - draw: - dashedline: - color: [0.350,0.350,0.350] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - # golf_course: - # filter: { landuse_kind: golf_course } - # draw: - # lines: - # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - # nature_reserve: - # filter: { landuse_kind: nature_reserve } - # draw: - # lines: - # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - # conservation: - # filter: { landuse_kind: conservation } - # draw: - # lines: - # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - # in_cemetery_garden: - # filter: { landuse_kind: [cemetery,garden] } - # draw: - # lines: - # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - # in_zoo: - # filter: { landuse_kind: zoo } - # draw: - # lines: - # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - # in_university: - # filter: { landuse_kind: university } - # draw: - # lines: - # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - # in_hospital: - # filter: { landuse_kind: hospital } - # draw: - # lines: - # color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - # width: [[14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - # outline: - # color: [0.790,0.790,0.790] - # width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - labels-path: - filter: { $zoom: { min: 17 } } - draw: - text-blend-order: - priority: 61 - visible: *text_visible_path - text_source: name - font: - fill: [0.536,0.556,0.581] - size: 12px - stroke: { color: *text_stroke, width: 4 } - track: - filter: { kind: path, kind_detail: track } - draw: - lines: - color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - width: [[13, 0px], [14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - cap: butt - join: round - outline: - color: [0.790,0.790,0.790] - width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - bridge: - filter: { is_bridge: true } - draw: - lines: - cap: butt - width: [[13, 0px], [14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - cap: round - outline: - color: [1.0,1.0,1.0] - width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - cap: butt - in_park: - filter: { landuse_kind: [park,national_park,nature_reserve,conservation,golf_course,garden,battlefield] } - draw: - lines: - color: [[14, [0.790,0.790,0.790]], [15, [1.00,1.00,1.00]]] - width: [[13, 0px], [14, 0.35px], [15, 0px], [16, 0.25px], [17, 3px], [18, 3px], [19, 4px]] - outline: - color: [0.790,0.790,0.790] - width: [[14, 0.0px], [15, 0.35px], [16, 0.45px], [17, 0.85px], [18, 1px]] - steps: - filter: - all: - - kind: path - - kind_detail: steps - draw: - dashed: - #order: function() { return feature.sort_rank; } - order: 1005 - color: [0.501,0.650,0.650] - width: [[15, 0.6], [16, 1px], [17, 1px], [18, 4px], [19, 1.5m]] - interactive: true - lines: - visible: false - order: 1000 - interactive: true - #width: [[13, 0.75px], [14, 0.85px], [15, 1.1px], [16, 2px], [17, 6px], [18, 7px], [19, 10px]] - #color: [[15,[0.120,0.600,0.520]],[16,[0.623,0.820,0.797]]] - color: [[14,[0.510,0.752,0.695]],[15,[0.671,0.839,0.820]],[16,[0.671,0.839,0.820]]] - width: [[13, 0.75px], [14, 0.6px], [15, 1px], [16, 2px], [17, 3px], [18, 4px], [19, 4px]] - visible: true - #color: purple - steps-late: - filter: { $zoom: { min: 17 } } - draw: - # lines: - # color: [0.707,0.884,0.872] - # visible: true - # outline: - # width: [[17, 0px], [18, 1px], [19, 2px]] - # color: [0.850,0.850,0.850] - dashed: - width: [[17, 2px], [18, 3px], [19, 3.5px]] - color: [0.501,0.650,0.650] - early-show-as-lines-z14: - filter: { $zoom: { max: 16 } } - draw: - dashed: - visible: false - lines: - visible: true - networked: - filter: { walking_network: true } - draw: - lines: - width: [[13, 0.75px], [14, 1px], [15, 2px], [16, 2px], [17, 3px], [18, 4px], [19, 4px]] - dashed: - width: [[13, 1.25px],[14, 2px],[15, 1.75px],[16, 2px], [17, 4px], [18, 5px], [19, 8px]] - highlight: - order: 980 - color: [[12,[0.900,1.000,0.850]],[14,[0.930,1.000,0.850]],[15,[1.000,1.000,0.870]]] - width: [[12, 3px], [13, 4px], [14, 5px], [15, 6px], [16, 8px], [17, 10px], [18, 14px], [19, 16px]] - join: round - early: - filter: { $zoom: { max: 15 } } - draw: - lines: - color: [0.120,0.600,0.520] - networked-steps-late: - filter: { $zoom: { min: 18 } } - draw: - dashed: - color: [0.120,0.600,0.520] + width: [[13, 0.75px], [14, 1px], [15, 2px], [16, 2px], [17, 3px], [18, 4px], [19, 4px]] + dashed: + width: [[13, 1.25px],[14, 2px],[15, 1.75px],[16, 2px], [17, 4px], [18, 5px], [19, 8px]] + highlight: + order: 980 + color: [[12,[0.900,1.000,0.850]],[14,[0.930,1.000,0.850]],[15,[1.000,1.000,0.870]]] + width: [[12, 3px], [13, 4px], [14, 5px], [15, 6px], [16, 8px], [17, 10px], [18, 14px], [19, 16px]] + join: round + early: + filter: { $zoom: { max: 15 } } + draw: + lines: + color: [0.120,0.600,0.520] + networked-steps-late: + filter: { $zoom: { min: 18 } } + draw: + dashed: + color: [0.120,0.600,0.520] in_park: filter: { landuse_kind: [park,nature_reserve,conservation,golf_course,garden] } draw: @@ -3530,7 +3073,6 @@ layers: text-blend-order: priority: 63 visible: *text_visible_steps - text_source: name font: fill: [0.45,0.45,0.45] size: 11px @@ -3579,14 +3121,14 @@ layers: lines: color: [0.450,0.450,0.450] text-blend-order: - text_source: function() { if( feature.name ){ return '◆ ' + feature.name; } else { return ''; } } + text_source: global.ux_language_text_source_piste_advanced expert: filter: { piste_difficulty: expert } draw: lines: color: [0.450,0.450,0.450] text-blend-order: - text_source: function() { if( feature.name ){ return '◆◆ ' + feature.name; } else { return ''; } } + text_source: global.ux_language_text_source_piste_expert pier: filter: { kind: path, kind_detail: pier } draw: @@ -3600,18 +3142,17 @@ layers: filter: { kind: racetrack } draw: lines: - interactive: true cap: round join: round color: [0.400,0.666,0.690] width: [[13,0.5px],[14,1px],[15, 1px], [16, 1.5px], [18, 3px], [19, 5px]] airport-lines: - filter: { kind: aeroway } + filter: { kind: aeroway, kind_detail: [runway,taxiway] } draw: lines: - color: [[11, [0.25,0.25,0.25]], [17, [0.0,0.0,0.0]]] + color: [[11,[0.25,0.25,0.25]],[17,[0.00,0.00,0.00]]] cap: butt - width: [[10, 1px], [11, 1.5px], [12, 2px], [13, 4px], [14, 8px], [15, 16px], [16, 32px], [17, 60m]] + width: [[10,1px],[13,3px],[15,16px],[17,60m]] outline: color: [1.0,1.0,1.0] # Features come in at zoom 9, but include mostly minor airports without POIs until z13 @@ -3629,11 +3170,11 @@ layers: filter: { kind_detail: taxiway } draw: lines: - color: [[11, [0.885,0.885,0.885]], [13, [0.779,0.802,0.828]], [14,[0.779,0.802,0.828]], [15, [1.0,1.0,1.0]], [16, [1.0,1.0,1.0]]] - width: [[11, 0.5px], [12, 0.65px], [13, 0.65px], [14, 1px], [15, 0px], [16, 1px], [17, 6px], [18, 9m]] + color: [[11,[0.885,0.885,0.885]],[13,[0.779,0.802,0.828]],[14,[0.779,0.802,0.828]],[15,[1.0,1.0,1.0]]] + width: [[11,0.5px],[14,1px],[15,0px],[16,1px],[17,6px],[18,9m]] outline: - color: [[11, [0.894,0.906,0.914]], [14,[0.779,0.802,0.828]], [15, [0.714,0.733,0.760]], [16, [0.714,0.733,0.760]], [17, [0.744,0.764,0.792]]] - width: [[11, 0px], [14, 0px], [15, 0.75px], [16, 1.5px], [17, 2px], [18, 3px]] + color: [[11,[0.894,0.906,0.914]],[14,[0.779,0.802,0.828]],[15,[0.714,0.733,0.760]],[17,[0.744,0.764,0.792]]] + width: [[11, 0px],[14,0px],[15,0.75px],[17,2px],[18,3px]] early: filter: { $zoom: { max: 13 } } draw: @@ -3657,7 +3198,6 @@ layers: filter: { kind: aerialway } draw: lines: - interactive: true color: [0.5,0.5,0.5] width: [[14, 0.5px], [15, 1.0px], [16, 2m]] gondola_cable_car: @@ -3684,1994 +3224,1135 @@ layers: text-blend-order: priority: 63 visible: *text_visible_aerialway - text_source: name - font: - fill: *text_fill - size: 10px - stroke: { color: *text_stroke_park, width: 4 } - minor: - filter: { not: { kind_detail: [gondola,cable_car,chair_lift] }, $zoom: { max: 17 } } - draw: - text-blend-order: - visible: false - early_gondola: - filter: { $zoom: [14], kind_detail: [gondola,cable_car] } - draw: - text-blend-order: - font: - weight: 600 - later: - filter: { $zoom: { min: 15 } } - draw: - text-blend-order: - font: - weight: 600 - buildings: - data: { source: mapzen, layer: buildings } - filter: - not: { location: underground } - # set default footprint and extrusion draw properties, but don't draw by default (rules below will turn visibility on) - draw: - polygons: - visible: false - order: 329 - color: [[14,[0.930,0.940,0.940]],[15,[0.920,0.930,0.930]],[16,[0.930,0.940,0.940]]] - lines: - style: lines - order: 330 - visible: false - color: [[14,[0.750,0.750,0.750]],[17,[0.85, 0.85, 0.85]]] - width: [[14, 0px], [15, 0.5px], [16,0.5px], [17,1px], [18, 1.25px]] - - # turn interactive feature selection on for buildings with names - interactive: - filter: { name: true } - draw: { polygons: { interactive: true } } - - # building footprints, pre-extrusion - footprints: - filter: - any: - # limit show smaller landuse areas to higher zooms - - { $zoom: [13], scale_rank: [1,2] } - - { $zoom: [14], scale_rank: [1,2,3] } - - { $zoom: [15], area: { min: 5000 }, name: true } - - { $zoom: [15], area: { min: 5000 }, kind: true } - - { $zoom: [15], area: { min: 3000 }, landuse_kind: true } - - { $zoom: [15], height: { min: 100 } } - - { $zoom: [15], volume: { min: 100000 } } - - { $zoom: [16], area: { min: 1000 }, name: true } - - { $zoom: [16], area: { min: 1000 }, kind: true } - - { $zoom: [16], area: { min: 2000 }, landuse_kind: true } - - { $zoom: [16], volume: { min: 50000 } } - #- { $zoom: [16], height: { min: 50 } } - - { $zoom: { min: 17 } } - all: - - not: { location: underground } - draw: - polygons: - visible: true - lines: - visible: true - - extrude: - filter: - any: - # for the buildings that were visible at zoom 15, extrude those all up a bit at z17 - - { $zoom: [16], area: { min: 20000 }, name: true } - - { $zoom: [16], area: { min: 20000 }, kind: true } - - { $zoom: [16], area: { min: 5000 }, landuse_kind: true } - - { $zoom: [16], height: { min: 150 } } - - { $zoom: [16], volume: { min: 150000 } } - - { $zoom: [17], area: { min: 5000 }, name: true } - - { $zoom: [17], area: { min: 5000 }, kind: true } - - { $zoom: [17], area: { min: 3000 }, landuse_kind: true } - - { $zoom: [17], height: { min: 100 } } - - { $zoom: [17], volume: { min: 100000 } } - - { $zoom: { min: 18 } } - draw: - polygons: - visible: true - order: 438 - style: building-grid - extrude: 100 - color: [0.930,0.940,0.940] - lines: - visible: true - order: 439 - style: building-lines - extrude: 100 - z16-default: - filter: { $zoom: [16] } - draw: - polygons: - extrude: 20 - lines: - extrude: 20 - z18-default: - filter: { $zoom: { min: 18 } } - draw: - polygons: - extrude: 20 - lines: - extrude: 20 - z18-special: - filter: - any: - - { $zoom: { min: 18 }, area: { min: 5000 }, name: true } - - { $zoom: { min: 18 }, area: { min: 5000 }, kind: true } - - { $zoom: { min: 18 }, area: { min: 3000 }, landuse_kind: true } - - { $zoom: { min: 18 }, height: { min: 100 } } - - { $zoom: { min: 18 }, volume: { min: 100000 } } - draw: - polygons: - extrude: 100 - lines: - extrude: 100 - - - # landuse-specific rules - # in_park: - # filter: { landuse_kind: [park,forest,nature_reserve,conservation,golf_course,garden] } - # draw: - # polygons: - # color: [0.864,0.910,0.905] - - # # golf_course: - # # filter: { landuse_kind: golf_course } - # # draw: - # # polygons: - # # color: *building2 - # # nature_reserve: - # # filter: { landuse_kind: nature_reserve } - # # draw: - # # polygons: - # # color: *building2 - # # conservation: - # # filter: { landuse_kind: conservation } - # # draw: - # # polygons: - # # color: *building2 - # # zoo: - # # filter: { landuse_kind: zoo } - # # draw: - # # polygons: - # # color: *building2 - # in_university: - # filter: { landuse_kind: [university,school] } - # draw: - # polygons: - # color: [0.950,0.917,0.883] - # lines: - # color: *brown1_bo - # in_hospital: - # filter: { landuse_kind: hospital } - # draw: - # polygons: - # color: [0.976,0.908,0.913] - # in_airport: - # filter: { landuse_kind: [aerodrome, runway, taxiway] } - # draw: - # polygons: - # color: *purple_b - # lines: - # color: *purple_bo - # width: [[14,0.5px],[15,0.5px],[17,0.5px],[18,0.75px],[19,0.25m]] - # in_retail: - # filter: { landuse_kind: retail } - # draw: - # polygons: - # color: [0.945, 0.898, 0.878] - - buildings-labels: - data: { source: mapzen, layer: buildings } - filter: - all: - - { $zoom: { min: 17 } } - - $geometry: point - - not: { location: underground, kind: address } - - name: true - any: - - { $zoom: [16], area: { min: 5000 } } - - { $zoom: [16], area: { min: 5000 } } - - { $zoom: [16], area: { min: 10000 }, landuse_kind: true } - - { $zoom: [16], area: { min: 7000 }, kind_detail: [university, college, school, kindergarten] } - - { $zoom: [16], volume: { min: 50000 }, name: true } - - { $zoom: [17], area: { min: 3000 } } - - { $zoom: [17], area: { min: 2000 }, kind_detail: [university, college, school, kindergarten] } - - { $zoom: [18], area: { min: 1000 } } - - { $zoom: [18], kind_detail: [university, college, school, kindergarten] } - - { $zoom: [19], area: { min: 200 } } - - { $zoom: { min: 19 }, kind_detail: [university, college, school, kindergarten] } - - { $zoom: { min: 20 }, area: true } - draw: - text-blend-order: - interactive: true - move_into_tile: true - priority: 70 - visible: *text_visible_building - order: 7 - font: - fill: '#666' - family: *text_font_family - style: italic - size: 11px - stroke: { color: *text_stroke_address, width: 1 } - building_labels-z15-z16-z17: - filter: { $zoom: [15,16,17] } - draw: { text-blend-order: { font: { size: 12px, stroke: { width: 2 } } } } - building_labels-z18: - filter: { $zoom: [18,19] } - draw: { text-blend-order: { font: { size: 12px, weight: 600, stroke: { width: 3 } } } } - building_labels-z20-up: - filter: { $zoom: { min: 20 } } - draw: { text-blend-order: { font: { size: 14px, weight: 600, stroke: { width: 3 } } } } - building-labels-z16: - filter: function() { if( $zoom == 16 && feature.name.length > 20 ) { return true; } else { return false; } } - draw: - text-blend-order: - visible: false - building-labels-z17: - filter: function() { if( $zoom == 17 && feature.name.length > 30 ) { return true; } else { return false; } } - draw: - text-blend-order: - visible: false - building-labels-z20+: - filter: { $zoom: { min: 20 } } - draw: - text-blend-order: - text_source: function() { if( feature.addr_housenumber ) { return feature.name + '\n' + feature.addr_housenumber; } else { return feature.name; } } - address-labels: - data: { source: mapzen, layer: buildings } - filter: - $zoom: { min: 20 } - any: - - kind: address - - { label_position: true, addr_housenumber: true, name: false } - draw: - text-blend-order: - interactive: true - order: 7 - visible: *text_visible_address - text_source: addr_housenumber - font: - fill: *text_fill_address - family: *text_font_family - style: italic - size: 10px - stroke: { color: *text_stroke_address, width: 4 } - - boundaries: - data: { source: mapzen, layer: boundaries } - # country subdivisions (states, provinces) - draw: - lines: - interactive: true - order: function() { return (feature.sort_rank + 100); } -# color: red -# width: [[9, 1px], [14, 2px], [16, 3px], [17, 8m]] - country: - filter: - kind: country - # any: - # - kind: country - # - kind_detail: 2 - draw: - lines: - interactive: true - color: *country_boundary - width: [[1, 0.5px], [2, 1.0px], [4, 1.5px], [9, 2.5px], [14, 3.5px], [16, 4.5px], [17, 14m]] - water: - filter: { maritime_boundary: true } - draw: - lines: - visible: false - #order: function() { return (feature.sort_rank - 2); } - #color: [0.568,0.942,1.000] - - # other_country_boundary_disputed_etc: - # filter: { kind: [disputed, indefinite, indeterminate, lease_limit, line_of_control, overlay_limit] } - # draw: - # dashed: - # interactive: true - # color: *country_boundary - # width: [[1, 0.2px], [2, 0.5px], [4, 1.0px], [9, 1.5px], [14, 2.5px], [16, 3.5px], [17, 10m]] - - region: - filter: - kind: region - # any: - # - type: state - # # territorial here is probably a hack - # - kind: [state, department, region, provincial, territorial] - # - kind_detail: 4 - # not: - # # deal with bogus Hungary data - # - scalerank: 0 - draw: - lines: - interactive: true - color: *region_boundary - width: [[0, 0.5px], [2, 1.0px], [5, 1.25px], [6, 1.5px], [7, 1.75px], [9, 2.0px], [14, 4.0px], [16, 5.0px], [17, 10m]] - water: - filter: { maritime_boundary: true } - draw: - lines: - visible: false - early: - filter: { not: { min_zoom: [1,2] }, $zoom: { max: 8 } } - draw: - lines: - visible: false - city_walls: - filter: { kind: city_wall } - draw: - lines: - color: *city_wall - width: [[12, 0.75px], [13, 1.0px], [14, 1.2px], [15, 2.0px], [16, 2.5px], [19, 6m]] - retaining_wall: - filter: { kind: retaining_wall } - draw: - lines: - color: *retaining_wall - width: [[14, 0.5px], [15, 1.0px], [16, 1.5px], [17, 2.0px], [19, 4m]] - snow_fence: - filter: { kind: snow_fence } - draw: - lines: - color: *snow_fence - width: [[14, 0.5px], [15, 1.0px], [16, 1.5px], [17, 2.0px], [19, 1.5m]] - fence: - filter: { kind: fence } - draw: - lines: - color: [[14,[0.770,0.765,0.755]],[18,[0.770,0.765,0.755]],[19,[0.841,0.837,0.824]]] - width: [[14, 0.5px], [15, 0.75px], [16, 0.75px], [18, 1.5px], [19, 1m]] - dam: - filter: { kind: dam } - draw: - lines: - color: *dam - width: [[14, 0.5px], [15, 1.0px], [16, 1.5px], [17, 2.0px], [19, 1.5m]] - - places: - data: { source: mapzen, layer: places } - filter: { not: { kind: [ocean, sea] } } - draw: - text-blend-order: - visible: false # labels are enabled by each layer below - font: - family: *text_font_family - # weight: 500 - fill: *text_fill - - country-z2: - filter: - all: - - kind: [country] - - $zoom: [2] - - name: ["United States of America","Brasil","中华人民共和国","Россия","Canada","Kalaallit Nunaat","Ísland","Australia","India","日本","Guam","Indonesia","South Africa","مصر","Nigeria","Kenya"] - draw: - text-blend-order: - priority: 3 - visible: *text_visible_admin - text_source: function() { return feature["name:en"] || feature["name"]; } - font: - fill: *text_fill - weight: 200 - size: 11px - stroke: { color: *text_stroke, width: 4 } - country-z3: - filter: { name: true, population: true, kind: [country], $zoom: [3] } - draw: - text-blend-order: - priority: 3 - visible: *text_visible_admin - text_source: function() { return feature["name:en"] || feature["name"]; } - font: - fill: *text_fill - weight: 200 - size: 11px - stroke: { color: *text_stroke, width: 4 } - # icons: - # size: [[13, 12px], [15, 18px]] - # interactive: true - # sprite: *townspot_sprite - early-ones: - # US, Brazil, China, Russia, Canada, Greenland, Iceland, Australia, India, Japan, Guam, Indonesia, South Africa, Egypt, Nigeria, Kenya - filter: { not: { name: ["United States of America","Brasil","中华人民共和国","Россия","Canada","Kalaallit Nunaat","Ísland","Australia","India","日本","Guam","Indonesia","South Africa","مصر","Nigeria","Kenya"] }, $zoom: {min: 3, max: 4} } - draw: - text-blend-order: - visible: false - country-z4: - filter: { name: true, population: true, kind: [country], $zoom: [4] } - draw: - text-blend-order: - priority: 3 - visible: *text_visible_admin - text_source: function() { return feature["name:en"] || feature["name"]; } - font: - fill: *text_fill - weight: 200 - size: 13px - stroke: { color: *text_stroke, width: 4 } - # icons: - # size: [[13, 12px], [15, 18px]] - # interactive: true - # sprite: *townspot_sprite - early-ones-z4: - filter: { name: [Nederland,Luxembourg,Liechtenstein,San Marino,Civitatis Vaticanæ,Crna Gora,Македонија,The Gambia,Burundi,Swaziland,الإمارات العربية المتحدة,العراق,Singapore,El Salvador,Belize,Trinidad and Tobago, Saint Lucia, Montserrat,Anguilla,República Dominicana,Bahamas,British Virgin Islands,Antigua and Barbuda,Grenada,Sint Maarten,Saint Kitts and Nevis,Cayman Islands,België - Belgique - Belgien], $zoom: {min: 4, max: 5} } - draw: - text-blend-order: - visible: false - country-z5: - filter: - all: - - name: true - - population: true - - kind: [country] - - $zoom: [5] - any: - - { population: { min: 5000000 } } - draw: - text-blend-order: - priority: 3 - visible: *text_visible_admin - text_source: function() { return feature["name:en"] || feature["name"]; } - font: - fill: *text_fill - weight: 600 - size: 13px - stroke: { color: *text_stroke, width: 4 } - # country-spacer-z5: - # filter: { kind: country, $zoom: [5] } - # draw: - # text-blend-order: - # text_source: function() { return feature.name.split('').join(' ') } - # text_wrap: false - # icons: - # size: [[13, 12px], [15, 18px]] - # interactive: true - # sprite: *townspot_sprite - early-ones-z5: - filter: { name: [Luxembourg,Liechtenstein,San Marino,Civitatis Vaticanæ,El Salvador,Belize,België - Belgique - Belgien], $zoom: {min: 5, max: 6} } - draw: - text-blend-order: - visible: false - country-z6: - # South Ossetia and Abkhazia aren't countries (they are disputed areas) - filter: { name: true, kind: [country], $zoom: [6] } - draw: - text-blend-order: - priority: 3 - visible: *text_visible_admin - text_source: function() { return feature["name:en"] || feature["name"]; } - font: - size: 14px - weight: 600 - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - small-ones-z6: - filter: { name: [Luxembourg,Liechtenstein,San Marino,Civitatis Vaticanæ,België - Belgique - Belgien,Хуссар Ирыстон,Аҧсны - Абхазия], $zoom: {min: 6, max: 7} } - draw: - text-blend-order: - visible: false - country-z7: - # South Ossetia and Abkhazia aren't countries (they are disputed areas) - filter: { name: true, kind: [country], $zoom: { min: 7, max: 9 } } - draw: - text-blend-order: - priority: 3 - visible: *text_visible_admin - text_source: function() { return feature["name:en"] || feature["name"]; } - font: - size: 16px - weight: 600 - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - small-ones-z7: - filter: { name: [Liechtenstein,San Marino,Civitatis Vaticanæ,Хуссар Ирыстон,Аҧсны - Абхазия], $zoom: {min: 7, max: 8} } - draw: - text-blend-order: - visible: false - - region-z4: - filter: { name: true, kind: [region], $zoom: [4], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } } - draw: - text-blend-order: - priority: 14 - visible: *text_visible_admin - text_source: 'name:short' - font: - size: 11px - weight: 400 - fill: [0.70,0.70,0.70] - stroke: { color: *text_stroke, width: 4 } - - region-z5: - filter: { name: true, kind: [region], $zoom: [5], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } } - draw: - text-blend-order: - priority: 14 - visible: *text_visible_admin - text_source: 'name:short' - font: - size: 18px - weight: 200 - fill: [0.5,0.5,0.5,0.5] - stroke: { color: *text_stroke, width: 4 } - - region-z6: - filter: { name: true, kind: [region], $zoom: [6], not: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"] } } - draw: - text-blend-order: - priority: 14 - visible: *text_visible_admin - text_source: 'name:short' - font: - size: 21px - weight: 200 - fill: [0.5,0.5,0.5,0.5] - # stroke: { color: *text_stroke, width: 4 } - transform: uppercase - - region: - filter: { name: true, kind: [region], $zoom: {min: 7, max: 9} } - draw: - text-blend-order: - priority: 14 - visible: *text_visible_admin - text_source: function() { if(feature["name:short"]) { return feature["name"]; } else { return ""; } } - font: - size: 30px - weight: 200 - fill: [0.5,0.5,0.5,0.5] - # stroke: { color: *text_stroke, width: 4 } - transform: uppercase - # icons: - # size: [[13, 12px], [15, 18px]] - # interactive: true - # sprite: *townspot_sprite - pesky: - filter: { name: ["Western Cape","Eastern Cape","Northern Cape","North West","Limpopo","KwaZulu-Natal","Hamburg","Freie und Hansestadt Hamburg","Neuchâtel","Nordrhein-Westfalen","Haute-Normandie","Baden-Württemberg","Bayern","Sachsen-Anhalt","Berlin","Mecklenburg-Vorpommern","Schleswig-Holstein","Brandenburg","Niedersachsen","Saarland","Thüringen","Hessen","Sachsen"], $zoom: {min: 7, max: 8} } - draw: - text-blend-order: - visible: false - small-ones: - filter: { name: ["Delaware","New Jersey","Connecticut","Rhode Island","Massachusetts","New Hampshire","Vermont"], $zoom: {min: 7, max: 8} } - draw: - text-blend-order: - text_source: function() { return feature["name:abbreviation"] || feature["name"]; } - font: { transform: uppercase } - - populated-places: - filter: - kind: locality - name: true - draw: - icons: - interactive: true - priority: 5 - text: - interactive: true - buffer: 3px - - populated-places-natural-earth-z2: - filter: { $zoom: [2], min_zoom: 2 } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - text: - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - populated-places-natural-earth-z3: - filter: { $zoom: [3] } - z3places-1: - filter: { min_zoom: 2 } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - text: - visible: *text_visible_populated_places - font: - size: 11px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - z3places-2: - filter: { min_zoom: 3 } - draw: - icons: - priority: 7 - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - text: - visible: *text_visible_populated_places - font: - size: 9px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - populated-places-natural-earth-z4: - filter: { $zoom: [4] } - z4places-1: - filter: { min_zoom: 2 } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - text: - visible: *text_visible_populated_places - font: - size: 11px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z4places-2: - filter: { min_zoom: [3,4] } - draw: - icons: - priority: 7 - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - text: - visible: *text_visible_populated_places - font: - size: 9px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - populated-places-natural-earth-z5: - filter: { $zoom: [5] } - z5places-1: - filter: { min_zoom: [2,3] } - draw: - icons: - priority: 7 - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - text: - visible: *text_visible_populated_places - font: - size: 15px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - priority: 5 - size: 8px - sprite: capital-l -# text: -# priority: 6 - - z5places-2: - filter: { min_zoom: 4 } - draw: - icons: - priority: 11 - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - text: - visible: *text_visible_populated_places - font: - size: 12px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - priority: 9 - size: 6px - sprite: capital-m -# text: -# priority: 10 - - z5places-3: - filter: { min_zoom: 5 } - draw: - icons: - priority: 17 - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - text: - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - priority: 15 - size: 6px - sprite: capital-m -# text: -# priority: 16 - - populated-places-natural-earth-z6: - filter: { $zoom: [6] } - z6places-1: - filter: { min_zoom: [2,3] } - draw: - icons: - priority: 7 - size: 8px - visible: *icon_visible_populated_places - sprite: townspot-l-rev - text: - visible: *text_visible_populated_places - font: - size: 16px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-l - size: 8px - priority: 5 -# text: -# priority: 6 - - z6places-2: - filter: { min_zoom: [4,5] } - draw: - icons: - priority: 11 - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - text: - visible: *text_visible_populated_places - font: - size: 13px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 6px - sprite: capital-m - priority: 9 -# text: -# priority: 10 - - z6places-3: - filter: { min_zoom: 6 } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 15 - text: - visible: *text_visible_populated_places - font: - size: 11px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 6px - sprite: capital-m - priority: 13 -# text: -# priority: 14 - - populated-places-natural-earth-z7: - filter: { $zoom: [7] } - z7places-1: - filter: { min_zoom: [2,3] } - draw: - icons: - size: 8px - visible: *icon_visible_populated_places - sprite: townspot-l-rev - priority: 7 - text: - visible: *text_visible_populated_places - font: - size: 17px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 8px - sprite: capital-l - priority: 5 -# text: -# priority: 6 - - z7places-2: - filter: { min_zoom: [4,5,6] } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 13 - text: - visible: *text_visible_populated_places - font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 8px - sprite: capital-l - priority: 11 -# text: -# priority: 12 - - z7places-3: - filter: { min_zoom: [6,7] } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 17 - text: - visible: *text_visible_populated_places - font: - size: 12px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 6px - sprite: capital-m - priority: 15 -# text: -# priority: 16 - - populated-places-osm-z8: - filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: true - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [8] - - z8places-1: - filter: - any: - - { population: { min: 1000000 } } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 7 - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 17px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 8px - sprite: capital-l - priority: 5 -# text: -# priority: 6 - z8places-2: - filter: - any: - - { population: { min: 150000, max: 999999 } } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 11 - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 6px - sprite: capital-m - priority: 9 -# text: -# priority: 10 - - z8places-3: - filter: - any: - - { population: { min: 85000, max: 149999 } } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 15 - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 12px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 6px - sprite: capital-m - priority: 13 -# text: -# priority: 14 - - z8places-4: - filter: - any: - - { population: { min: 50000, max: 84999 } } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 19 - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 5px - sprite: capital-m - priority: 17 -# text: -# priority: 18 - z8places-5: - filter: - all: - - { population: { max: 50000 } } - any: - - { country_capital: true } - - { region_capital: true } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 19 - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 5px - sprite: capital-s - priority: 17 -# text: -# priority: 18 - - populated-places-natural-earth-z8-backfill: - filter: { $zoom: [8], population: { max: 50000 } } - draw: { icons: { text: { font: { fill: *text_fill } } } } - z8places-1-ne: - filter: { min_zoom: [2,3] } - draw: - icons: - size: 8px - visible: *icon_visible_populated_places - sprite: townspot-l-rev - priority: 23 - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 17px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 8px - sprite: capital-l - priority: 21 -# text: -# priority: 22 - - z8places-2-ne: - filter: { min_zoom: [4,5,6] } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-m - - z8places-3-ne: - filter: { min_zoom: [6,7] } - draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 27 - repeat_group: abc - text: - visible: *text_visible_populated_places - font: - size: 10px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-s - priority: 25 -# text: -# priority: 26 - - populated-places-osm-z9: - filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: true - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [9] - - z9places-1: - filter: - any: - - { population: { min: 1000000 } } + text_source: global.ux_language_text_source + font: + fill: *text_fill + size: 10px + stroke: { color: *text_stroke_park, width: 4 } + minor: + filter: { not: { kind_detail: [gondola,cable_car,chair_lift] }, $zoom: { max: 17 } } + draw: + text-blend-order: + visible: false + early_gondola: + filter: { $zoom: [14], kind_detail: [gondola,cable_car] } draw: text-blend-order: - anchor: center - visible: *text_visible_populated_places - priority: 6 font: - size: 17px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z9places-2a: - filter: - any: - - { population: { min: 350000, max: 999999 } } + weight: 600 + later: + filter: { $zoom: { min: 15 } } draw: text-blend-order: - anchor: center - visible: *text_visible_populated_places - priority: 8 font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } + weight: 600 + buildings: + data: { source: mapzen, layer: buildings } + filter: + not: { location: underground } + # set default footprint and extrusion draw properties, but don't draw by default (rules below will turn visibility on) + draw: + polygons: + visible: false + order: 329 + color: [[14,[0.930,0.940,0.940]],[15,[0.920,0.930,0.930]],[16,[0.930,0.940,0.940]]] + lines: + style: lines + order: 330 + visible: false + color: [[14,[0.750,0.750,0.750]],[17,[0.85, 0.85, 0.85]]] + width: [[14, 0px], [15, 0.5px], [16,0.5px], [17,1px], [18, 1.25px]] - z9places-2b: - filter: - any: - - { population: { min: 150000, max: 350000 } } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 11 - text: - visible: *text_visible_populated_places - font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-m - priority: 9 -# text: -# priority: 10 + # building footprints, pre-extrusion + footprints: + filter: + any: + # limit show smaller landuse areas to higher zooms + - { $zoom: [13], scale_rank: [1,2] } + - { $zoom: [14], scale_rank: [1,2,3] } + - { $zoom: [15], area: { min: 5000 }, name: true } + - { $zoom: [15], area: { min: 5000 }, kind: true } + - { $zoom: [15], area: { min: 3000 }, landuse_kind: true } + - { $zoom: [15], height: { min: 100 } } + - { $zoom: [15], volume: { min: 100000 } } + - { $zoom: [16], area: { min: 1000 }, name: true } + - { $zoom: [16], area: { min: 1000 }, kind: true } + - { $zoom: [16], area: { min: 2000 }, landuse_kind: true } + - { $zoom: [16], volume: { min: 50000 } } + #- { $zoom: [16], height: { min: 50 } } + - { $zoom: { min: 17 } } + all: + - not: { location: underground } + draw: + polygons: + visible: true + lines: + visible: true - z9places-3: - filter: - any: - - { population: { min: 85000, max: 149999 } } + extrude: + filter: + all: + - function() { return global.building_extrude; } + - any: + # for the buildings that were visible at zoom 15, extrude those all up a bit at z17 + - { $zoom: [16], area: { min: 20000 }, name: true } + - { $zoom: [16], area: { min: 20000 }, kind: true } + - { $zoom: [16], area: { min: 5000 }, landuse_kind: true } + - { $zoom: [16], height: { min: 150 } } + - { $zoom: [16], volume: { min: 150000 } } + - { $zoom: [17], area: { min: 5000 }, name: true } + - { $zoom: [17], area: { min: 5000 }, kind: true } + - { $zoom: [17], area: { min: 3000 }, landuse_kind: true } + - { $zoom: [17], height: { min: 100 } } + - { $zoom: [17], volume: { min: 100000 } } + - { $zoom: { min: 18 } } + draw: + polygons: + visible: true + order: 438 + style: building-grid + extrude: 100 + color: [0.930,0.940,0.940] + lines: + visible: true + order: 439 + style: building-lines + extrude: 100 + z16-default: + filter: { $zoom: [16] } draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 15 - text: - visible: *text_visible_populated_places - font: - size: 12px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-m - priority: 13 - text: - font: - size: 14px - - z9places-4: - filter: - any: - - { population: { min: 50000, max: 84999 } } + polygons: + extrude: 20 + lines: + extrude: 20 + z18-default: + filter: { $zoom: { min: 18 } } draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 19 - text: - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-s - priority: 17 -# text: -# priority: 18 - z9places-5: + polygons: + extrude: 20 + lines: + extrude: 20 + z18-special: filter: - all: - - { population: { max: 50000 } } any: - - { country_capital: true } - - { region_capital: true } + - { $zoom: { min: 18 }, area: { min: 5000 }, name: true } + - { $zoom: { min: 18 }, area: { min: 5000 }, kind: true } + - { $zoom: { min: 18 }, area: { min: 3000 }, landuse_kind: true } + - { $zoom: { min: 18 }, height: { min: 100 } } + - { $zoom: { min: 18 }, volume: { min: 100000 } } draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 19 - text: - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-s - priority: 17 -# text: -# priority: 18 + polygons: + extrude: 100 + lines: + extrude: 100 - populated-places-osm-z9-no-population: - filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: false - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [9] - - kind_detail: [city,town] + + # landuse-specific rules + # in_park: + # filter: { landuse_kind: [park,forest,nature_reserve,conservation,golf_course,garden] } + # draw: + # polygons: + # color: [0.864,0.910,0.905] + + # # golf_course: + # # filter: { landuse_kind: golf_course } + # # draw: + # # polygons: + # # color: *building2 + # # nature_reserve: + # # filter: { landuse_kind: nature_reserve } + # # draw: + # # polygons: + # # color: *building2 + # # conservation: + # # filter: { landuse_kind: conservation } + # # draw: + # # polygons: + # # color: *building2 + # # zoo: + # # filter: { landuse_kind: zoo } + # # draw: + # # polygons: + # # color: *building2 + # in_university: + # filter: { landuse_kind: [university,school] } + # draw: + # polygons: + # color: [0.950,0.917,0.883] + # lines: + # color: *brown1_bo + # in_hospital: + # filter: { landuse_kind: hospital } + # draw: + # polygons: + # color: [0.976,0.908,0.913] + # in_airport: + # filter: { landuse_kind: [aerodrome, runway, taxiway] } + # draw: + # polygons: + # color: *purple_b + # lines: + # color: *purple_bo + # width: [[14,0.5px],[15,0.5px],[17,0.5px],[18,0.75px],[19,0.25m]] + # in_retail: + # filter: { landuse_kind: retail } + # draw: + # polygons: + # color: [0.945, 0.898, 0.878] + + transit-overlay-station-buildings: + filter: + any: + - landuse_kind: [station] + draw: + polygons: + visible: global.sdk_transit_overlay + color: '#bdadbf' + order: 500 + #extrude: function() { return feature.height || 20; } + outline: + visible: global.sdk_transit_overlay + style: lines + order: 501 + color: '#d534df' + width: [[14,0.1px],[15,0.5px],[17,0.5px],[18,0.75px],[19,0.25m]] + #extrude: function() { return feature.height || 20; } + + buildings-labels: + filter: + all: + - { $zoom: { min: 17 } } + - $geometry: point + - not: { location: underground, kind: address } + - name: true + any: + - { $zoom: [16], area: { min: 5000 } } + - { $zoom: [16], area: { min: 5000 } } + - { $zoom: [16], area: { min: 10000 }, landuse_kind: true } + - { $zoom: [16], area: { min: 7000 }, kind_detail: [university, college, school, kindergarten] } + - { $zoom: [16], volume: { min: 50000 }, name: true } + - { $zoom: [17], area: { min: 3000 } } + - { $zoom: [17], area: { min: 2000 }, kind_detail: [university, college, school, kindergarten] } + - { $zoom: [18], area: { min: 1000 } } + - { $zoom: [18], kind_detail: [university, college, school, kindergarten] } + - { $zoom: [19], area: { min: 200 } } + - { $zoom: { min: 19 }, kind_detail: [university, college, school, kindergarten] } + - { $zoom: { min: 20 }, area: true } + draw: + text-blend-order: + text_source: global.ux_language_text_source + interactive: global.interactive + move_into_tile: true + priority: 70 + visible: *text_visible_building + order: 7 + font: + fill: '#666' + family: *text_font_family + style: italic + size: 11px + stroke: { color: *text_stroke_address, width: 1 } + building_labels-z15-z16-z17: + filter: { $zoom: [15,16,17] } + draw: { text-blend-order: { font: { size: 12px, stroke: { width: 2 } } } } + building_labels-z18: + filter: { $zoom: [18,19] } + draw: { text-blend-order: { font: { size: 12px, weight: 600, stroke: { width: 3 } } } } + building_labels-z20-up: + filter: { $zoom: { min: 20 } } + draw: { text-blend-order: { font: { size: 14px, weight: 600, stroke: { width: 3 } } } } + building-labels-z16: + filter: function() { if( $zoom == 16 && feature.name.length > 20 ) { return true; } else { return false; } } draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 21 - text: - # anchor: center - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } + text-blend-order: + visible: false + building-labels-z17: + filter: function() { if( $zoom == 17 && feature.name.length > 30 ) { return true; } else { return false; } } + draw: + text-blend-order: + visible: false + building-labels-z20+: + filter: { $zoom: { min: 20 } } + draw: + text-blend-order: + text_source: global.ux_language_text_source_building_and_address + address-labels: + filter: + $zoom: { min: 20 } + any: + - kind: address + - { label_position: true, addr_housenumber: true, name: false } + draw: + text-blend-order: + interactive: global.interactive + order: 7 + visible: *text_visible_address + text_source: addr_housenumber + font: + fill: *text_fill_address + family: *text_font_family + style: italic + size: 10px + stroke: { color: *text_stroke_address, width: 4 } - populated-places-natural-earth-z9-backfill: - filter: { $zoom: [9], population: { max: 50000 } } - draw: { icons: { text: { font: { fill: *text_fill } } } } - z9places-1-ne: - filter: { min_zoom: [2,3] } - draw: - icons: - size: 8px - visible: *icon_visible_populated_places - sprite: townspot-l-rev - priority: 25 - text: - visible: *text_visible_populated_places - font: - size: 17px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-l - priority: 23 -# text: -# priority: 24 + boundaries: + data: { source: mapzen, layer: boundaries } + draw: + lines: + order: function() { return (feature.sort_rank + 100); } + country: + filter: + - kind: country + - admin_level: 2 + draw: + lines: + color: *country_boundary + width: [[1, 0.5px], [2, 1.0px], [4, 1.5px], [9, 2.5px], [14, 3.5px], [16, 4.5px], [17, 14m]] + water: + filter: { maritime_boundary: true } + draw: + lines: + visible: false + labels-z9-up: + filter: { name: true, $zoom: { min: 9 }, not: { maritime_boundary: true } } + draw: + text-blend-order: + priority: 2 + visible: *text_visible_admin + text_source: global.ux_language_text_source_boundary_lines + text_wrap: 100 + font: + family: *text_font_family + size: 9px + fill: [0.00,0.00,0.00] + transform: uppercase - z9places-2-ne: - filter: { min_zoom: [4,5,6] } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 29 - text: - visible: *text_visible_populated_places - font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-m - priority: 28 -# text: -# priority: 27 + other_country_boundary_disputed_etc: + filter: { kind: [disputed, indefinite, indeterminate, lease_limit, line_of_control, overlay_limit] } + draw: + dashed: + order: function() { return (feature.sort_rank + 100); } + color: *country_boundary + width: [[1,0.2px],[9,1.5px],[17,10m]] + disputed: + filter: { kind: [disputed, line_of_control] } + draw: + dashed: + visible: false + dashed_big: + order: function() { return (feature.sort_rank + 100); } + color: *country_boundary + width: [[1,0.5px],[9,2.5px],[17,14m]] - z9places-3-ne: - filter: { min_zoom: [6,7,9] } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 33 - text: - visible: *text_visible_populated_places - font: - size: 12px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-m - priority: 31 -# text: -# priority: 32 + region: + filter: + - kind: [region,macroregion] + - kind_detail: [3,4] + draw: + lines: + color: *region_boundary + width: [[0, 0.5px], [2, 1.0px], [5, 1.25px], [6, 1.5px], [7, 1.75px], [9, 2.0px], [14, 4.0px], [16, 5.0px], [17, 10m]] + water: + filter: { maritime_boundary: true } + draw: + lines: + visible: false + early: + filter: { not: { min_zoom: [1,2] }, $zoom: { max: 8 } } + draw: + lines: + visible: false + labels-z9-up: + filter: { name: true, $zoom: { min: 9 }, not: { maritime_boundary: true } } + draw: + text-blend-order: + priority: 3 + visible: *text_visible_admin + text_source: global.ux_language_text_source_boundary_lines + text_wrap: 100 + #offset: [0px, -7px] + anchor: top + font: + family: *text_font_family + size: 9px + fill: [0.35,0.35,0.35] + transform: uppercase + city_walls: + filter: { kind: city_wall } + draw: + lines: + color: *city_wall + width: [[12, 0.75px], [13, 1.0px], [14, 1.2px], [15, 2.0px], [16, 2.5px], [19, 6m]] + retaining_wall: + filter: { kind: retaining_wall } + draw: + lines: + color: *retaining_wall + width: [[14, 0.5px], [15, 1.0px], [16, 1.5px], [17, 2.0px], [19, 4m]] + snow_fence: + filter: { kind: snow_fence } + draw: + lines: + color: *snow_fence + width: [[14, 0.5px], [15, 1.0px], [16, 1.5px], [17, 2.0px], [19, 1.5m]] + fence: + filter: { kind: fence } + draw: + lines: + color: [[14,[0.770,0.765,0.755]],[18,[0.770,0.765,0.755]],[19,[0.841,0.837,0.824]]] + width: [[14, 0.5px], [15, 0.75px], [16, 0.75px], [18, 1.5px], [19, 1m]] + dam: + filter: { kind: dam } + draw: + lines: + color: *dam + width: [[14, 0.5px], [15, 1.0px], [16, 1.5px], [17, 2.0px], [19, 1.5m]] - populated-places-osm-z10: - filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: true - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [10] + places: + data: { source: mapzen, layer: places } + filter: + name: true + draw: + icons: + text: + text_source: global.ux_language_text_source + visible: false + buffer: 3px + font: + family: *text_font_family + fill: *text_fill + # NOTE: This is a hack for localities because of an icon & text bug, see note below + text-blend-order: + text_source: global.ux_language_text_source + visible: false # labels are enabled by each layer below + buffer: 3px + font: + family: *text_font_family + fill: *text_fill + # END NOTE - z10places-1: + country: + filter: + kind: country + $zoom: { min: 2, max: 9 } + draw: + text-blend-order: + priority: 3 + visible: *text_visible_admin + font: + fill: *text_fill + weight: 600 + stroke: { color: *text_stroke, width: 4 } + country-z2-3: + filter: + $zoom: [2,3] + draw: + text-blend-order: + font: + priority: 10 + buffer: 10px + weight: 200 + size: 11px + early-ones-z2: filter: - any: - - { population: { min: 1000000 } } + $zoom: [2] + not: { name: [United States of America,Brasil,中华人民共和国,Россия,Canada,Kalaallit Nunaat,Ísland,Australia,India,日本,Guam,Indonesia,South Africa,مصر,Nigeria,Kenya] } draw: text-blend-order: - anchor: center - visible: *text_visible_populated_places - font: - size: 17px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z10places-2a: + visible: false + early-ones-z3: filter: - any: - - { population: { min: 350000, max: 1000000 } } + $zoom: [3] + name: [Nederland,Luxembourg,Liechtenstein,San Marino,Civitatis Vaticanæ,Crna Gora,Македонија,The Gambia,Burundi,Swaziland,الإمارات العربية المتحدة,العراق,Singapore,El Salvador,Belize,Trinidad and Tobago, Saint Lucia, Montserrat,Anguilla,República Dominicana,Bahamas,British Virgin Islands,Antigua and Barbuda,Grenada,Sint Maarten,Saint Kitts and Nevis,Cayman Islands,België - Belgique - Belgien,Deutschland,España] draw: text-blend-order: - anchor: center - visible: *text_visible_populated_places - font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z10places-2b: - filter: - any: - - { population: { min: 150000, max: 350000 } } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 7 - text: - visible: *text_visible_populated_places - font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z10places-3: - filter: - any: - - { population: { min: 50000, max: 149999 } } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 11 - text: - visible: *text_visible_populated_places - font: - size: 12px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z10places-4: + visible: false + country-z4: + filter: + $zoom: [4] + draw: + text-blend-order: + buffer: 10px + priority: 8 + font: + weight: 200 + size: 13px + early-ones-z4: filter: - any: - - { population: { min: 20000, max: 49999 } } + name: [Nederland,Luxembourg,Liechtenstein,San Marino,Civitatis Vaticanæ,Crna Gora,Македонија,The Gambia,Burundi,Swaziland,الإمارات العربية المتحدة,العراق,Singapore,El Salvador,Belize,Trinidad and Tobago, Saint Lucia, Montserrat,Anguilla,República Dominicana,Bahamas,British Virgin Islands,Antigua and Barbuda,Grenada,Sint Maarten,Saint Kitts and Nevis,Cayman Islands,België - Belgique - Belgien,Deutschland,España,Magyarország,Österreich,Polska,Хуссар Ирыстон,Аҧсны - Абхазия] draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 13 - text: - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - populated-places-osm-z10-no-population: + text-blend-order: + visible: false + country-z5: filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: false - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [10] - - kind_detail: [city,town] + $zoom: [5] draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 15 - text: - # anchor: center - visible: *text_visible_populated_places - font: - size: 10px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - populated-places-natural-earth-z10-backfill: - filter: { $zoom: [10], population: { max: 20000 } } - draw: { icons: { text: { font: { fill: *text_fill } } } } - z10places-1-ne: - filter: { min_zoom: [2,3] } - draw: - icons: - text: - visible: *text_visible_populated_places - font: - size: 17px - stroke: { color: *text_stroke, width: 4 } - - z10places-2-ne: - filter: { min_zoom: [4,5,6] } - draw: - icons: - size: 6px - visible: *icon_visible_populated_places - sprite: townspot-m-rev - priority: 21 - text: - visible: *text_visible_populated_places - font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - sprite: capital-m - priority: 20 -# text: -# priority: 21 - - z10places-3-ne: - filter: { min_zoom: [6,7,9,10] } + text-blend-order: + priority: 8 + font: + size: 13px + early-ones-z5: + filter: + # South Ossetia and Abkhazia aren't countries (they are disputed areas) + - name: [Luxembourg,Liechtenstein,San Marino,Civitatis Vaticanæ,El Salvador,Belize,België - Belgique - Belgien,"Хуссар Ирыстон - Южная Осетия","Хуссар Ирыстон","Аҧсны - Абхазия","Լեռնային Ղարաբաղի Հանրապետությու (Nagorno-Karabakh Republic)"] + - population: { max: 5000000 } draw: - icons: - size: 5px - visible: *icon_visible_populated_places - sprite: townspot-s-rev - priority: 25 - text: - visible: *text_visible_populated_places - font: - size: 12px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - icons: - size: 7px - sprite: capital-m - priority: 23 -# text: -# priority: 24 - - populated-places-osm-z11: + text-blend-order: + visible: false + country-z6: filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: true - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [11] - - kind_detail: [city,town] + $zoom: [6] draw: text-blend-order: - anchor: center - - z11places-1: + priority: 8 + font: + size: 14px + small-ones-z6: filter: - any: - - { population: { min: 1000000 } } + # South Ossetia and Abkhazia aren't countries (they are disputed areas) + - name: [Luxembourg,Liechtenstein,San Marino,Civitatis Vaticanæ,België - Belgique - Belgien,"Хуссар Ирыстон - Южная Осетия","Хуссар Ирыстон","Аҧсны - Абхазия","Լեռնային Ղարաբաղի Հանրապետությու (Nagorno-Karabakh Republic)"] + - population: { max: 5000000 } draw: text-blend-order: - visible: *text_visible_populated_places - priority: 5 - font: - size: 18px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z11places-2: + visible: false + country-z7: + # South Ossetia and Abkhazia aren't countries (they are disputed areas) + filter: { $zoom: { min: 7, max: 9 } } + draw: + text-blend-order: + font: + size: 16px + small-ones-z7: filter: - any: - - { population: { min: 50000, max: 999999 } } + $zoom: [7] + # South Ossetia and Abkhazia aren't countries (they are disputed areas) + name: [Liechtenstein,San Marino,Civitatis Vaticanæ,"Хуссар Ирыстон - Южная Осетия","Хуссар Ирыстон","Аҧсны - Абхазия","Լեռնային Ղարաբաղի Հանրապետությու (Nagorno-Karabakh Republic)"] draw: text-blend-order: - visible: *text_visible_populated_places - priority: 6 - font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z11places-3: + visible: false + small-pop: filter: - any: - - { population: { min: 5000, max: 49999 } } + - population: { max: 5000000 } draw: text-blend-order: - visible: *text_visible_populated_places - priority: 7 + priority: 30 font: - size: 11px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } + size: 12px - populated-places-osm-z11-no-population: + region: + filter: + kind: region + $zoom: { min: 4, max: 9 } + draw: + text-blend-order: + priority: 14 + visible: false + font: + size: 11px + weight: normal + fill: [0.5,0.5,0.5,0.5] + region-z4: filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: false - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [11] - - kind_detail: [city,town] + $zoom: [4] + not: { name: [Western Cape,Eastern Cape,Northern Cape,North West,Limpopo,KwaZulu-Natal,Hamburg,Freie und Hansestadt Hamburg,Neuchâtel,Nordrhein-Westfalen,Haute-Normandie,Baden-Württemberg,Bayern,Sachsen-Anhalt,Berlin,Mecklenburg-Vorpommern,Schleswig-Holstein,Brandenburg,Niedersachsen,Saarland,Thüringen,Hessen,Sachsen] } draw: text-blend-order: - anchor: center - visible: *text_visible_populated_places - priority: 8 + visible: *text_visible_admin + text_source: global.ux_language_text_source_short font: - size: 11px - fill: *text_fill + fill: [0.70,0.70,0.70] stroke: { color: *text_stroke, width: 4 } - - populated-places-natural-earth-z11-backfill: - filter: { name: true, source: naturalearthdata.com, $zoom: [11], population: { max: 5000 } } + region-z5: + filter: + $zoom: [5] + not: { name: [Western Cape,Eastern Cape,Northern Cape,North West,Limpopo,KwaZulu-Natal,Hamburg,Freie und Hansestadt Hamburg,Neuchâtel,Nordrhein-Westfalen,Haute-Normandie,Baden-Württemberg,Bayern,Sachsen-Anhalt,Berlin,Mecklenburg-Vorpommern,Schleswig-Holstein,Brandenburg,Niedersachsen,Saarland,Thüringen,Hessen,Sachsen] } draw: text-blend-order: - anchor: center + visible: *text_visible_admin + text_source: global.ux_language_text_source_short font: - fill: *text_fill - z11places-1-ne: - filter: { min_zoom: [2,3] } - draw: - text-blend-order: - visible: *text_visible_populated_places - priority: 10 - font: - size: 18px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - text-blend-order: - priority: 9 - font: - size: 18px - stroke: { color: *text_stroke, width: 4 } + size: 18px + weight: 200 + stroke: { color: *text_stroke, width: 4 } + region-z6: + filter: + $zoom: [6] + not: { name: [Western Cape,Eastern Cape,Northern Cape,North West,Limpopo,KwaZulu-Natal,Hamburg,Freie und Hansestadt Hamburg,Neuchâtel,Nordrhein-Westfalen,Haute-Normandie,Baden-Württemberg,Bayern,Sachsen-Anhalt,Berlin,Mecklenburg-Vorpommern,Schleswig-Holstein,Brandenburg,Niedersachsen,Saarland,Thüringen,Hessen,Sachsen] } + draw: + text-blend-order: + visible: *text_visible_admin + text_source: global.ux_language_text_source_short + font: + size: 21px + weight: 200 + transform: uppercase - z11places-2-ne: - filter: { min_zoom: [4,5,6] } + region-z7-z8: + filter: { $zoom: [7,8] } + draw: + text-blend-order: + visible: *text_visible_admin + text_source: global.ux_language_text_source_short_proxy_name + font: + size: 30px + weight: 200 + transform: uppercase + pesky: + filter: + $zoom: [7] + name: [Western Cape,Eastern Cape,Northern Cape,North West,Limpopo,KwaZulu-Natal,Hamburg,Freie und Hansestadt Hamburg,Neuchâtel,Nordrhein-Westfalen,Haute-Normandie,Baden-Württemberg,Bayern,Sachsen-Anhalt,Berlin,Mecklenburg-Vorpommern,Schleswig-Holstein,Brandenburg,Niedersachsen,Saarland,Thüringen,Hessen,Sachsen] draw: text-blend-order: - visible: *text_visible_populated_places - priority: 13 - font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - text-blend-order: - priority: 11 - font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - state_capital: - filter: { region_capital: true } - draw: - text-blend-order: - priority: 12 - font: - size: 14px - stroke: { color: *text_stroke, width: 4 } + visible: false - z11places-3-ne: - filter: { min_zoom: [6,7,9,10] } + abbrev-small-ones-z7: + filter: + $zoom: [7] + name: [Delaware,New Jersey,Connecticut,Rhode Island,Massachusetts,New Hampshire,Vermont] draw: text-blend-order: - visible: *text_visible_populated_places - priority: 15 - font: - size: 11px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } + text_source: global.ux_language_text_source_abbreviation + font: { transform: uppercase } + region-z8: + filter: + $zoom: [8] + draw: + text-blend-order: + text_source: global.ux_language_text_source + no-pop: + filter: + any: + - population: false + - population: { max: 1000000 } draw: text-blend-order: - priority: 14 font: - size: 11px - stroke: { color: *text_stroke, width: 4 } + size: 16px + + + populated-places: + filter: + kind: locality + draw: + icons: + visible: *icon_visible_populated_places + size: [[10,4px],[11,0px]] + sprite: townspot-xs-rev + buffer: 8px + priority: 30 + text: + visible: *text_visible_populated_places + buffer: 3px + font: + size: [[5,9px],[8,10px],[12,11px]] + stroke: { color: *text_stroke, width: 4 } + text-blend-order: + visible: *text_visible_populated_places + buffer: 10px + font: + size: [[5,9px],[8,10px],[12,11px]] + stroke: { color: *text_stroke, width: 4 } + + # + # NOTE: you'd think no-townspot would be the way to go, but icons with size 0px seems to have a bug to also hide the text :( + # + # no-townspot: + # filter: { $zoom: { min: 11 } } + # draw: + # icons: + # size: 0px + # text: + # anchor: center + # + # NOTE: So instead we play a shell game with symbolizers per zoom + # + _icons_later: + filter: { $zoom: { min: 11 } } + draw: + icons: + visible: false + text-blend-order: + visible: *text_visible_populated_places + + _text_early: + filter: { $zoom: { max: 11 } } + draw: + text-blend-order: + visible: false + # END HACK + + z8-50k-below: + filter: { $zoom: [8,9], population: { min: 10000, max: 50000 } } + draw: + icons: + buffer: 25px + #color: red + #visible: false + z9-10k-below: + filter: { $zoom: [8,9], population: { max: 10000 } } + draw: + icons: + buffer: 18px + #color: blue + #visible: false + z9-no-population: + filter: { $zoom: [8,9], population: false } + draw: + icons: + buffer: 10px + #color: yellow + #visible: false - populated-places-osm-z12: + sorry-denver: filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: true - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [12] - - kind_detail: [city,town] + $zoom: [3] + name: [Denver] + draw: + icons: + visible: false + + # HACK + # NOTE: These should use icon: buffer instead of going visible: false, but there are problems using icon here :( + # This fixes Paris area, but causes problems for small places in the USA eg Table Bluff near Eureka, California. + funky-village: + filter: { $zoom: [11], population: { max: 1000 }, kind_detail: [village] } + draw: + text-blend-order: + visible: false + funky-isolated_dwelling: + filter: { $zoom: [13], kind_detail: [isolated_dwelling] } + draw: + text-blend-order: + visible: false + hamlet: + filter: { $zoom: [13], kind_detail: hamlet } draw: text-blend-order: - anchor: center + visible: false + # END HACK + + # someone in London and Salt Lake City thought neighbourhoods should be tagged place: locality + # They were wrong + funky-fake-neighbourhoods: + filter: { $zoom: { min: 13 }, kind_detail: [locality] } + draw: + text-blend-order: + visible: false - z12places-1: - filter: - any: - - { population: { min: 1000000 } } + population-10m-up: + filter: + population: { min: 10000000 } + draw: + icons: + size: [[4,5px],[8,6px],[9,0px]] + sprite: townspot-m-rev + priority: 6 + text: + font: + size: [[2,11px],[6,17px],[8,19px],[12,21px],[13,0px]] + text-blend-order: + priority: 6 + font: + size: [[2,11px],[6,17px],[8,19px],[12,21x],[13,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,8px],[11,0px]] + sprite: capital-l + priority: 5 text-blend-order: - visible: *text_visible_populated_places priority: 5 + population-5m-10m: + filter: + population: { min: 5000000, max: 10000000 } + draw: + icons: + size: [[4,5px],[8,6px],[9,0px]] + sprite: townspot-m-rev + priority: 7 + text: font: - size: 18px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z12places-2: - filter: - any: - - { population: { min: 50000, max: 999999 } } + size: [[4,10px],[6,16px],[8,18px],[12,20px],[13,0px]] + text-blend-order: + priority: 7 + font: + size: [[4,10px],[6,16px],[8,18px],[12,20px],[13,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: - text-blend-order: - visible: *text_visible_populated_places + icons: + size: [[10,8px],[11,0px]] + sprite: capital-l priority: 6 - font: - size: 14px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z12places-3: - filter: - any: - - { population: { min: 5000, max: 49999 } } - draw: text-blend-order: - visible: *text_visible_populated_places - priority: 7 + priority: 6 + population-1m-5m: + filter: + population: { min: 1000000, max: 5000000 } + draw: + icons: + size: [[4,5px],[8,6px],[9,0px]] + sprite: townspot-m-rev + priority: 9 + text: font: - size: 11px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - z12places-4: - filter: - any: - - { population: { max: 5000 } } + size: [[4,10px],[6,16px],[8,18px],[12,20px],[13,0px]] + text-blend-order: + priority: 9 + font: + size: [[4,10px],[6,16px],[8,18px],[12,20px],[13,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,8px],[11,0px]] + sprite: capital-l + priority: 8 text-blend-order: - visible: *text_visible_populated_places priority: 8 - font: - size: 11px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - populated-places-osm-z12-no-population: + population-500k-1m: filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: false - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [12] - - kind_detail: [city,town] + population: { min: 500000, max: 1000000 } draw: + icons: + size: [[8,6px],[9,0px]] + sprite: townspot-m-rev + priority: 11 + text: + font: + size: [[5,10px],[8,12px],[10,14px],[12,16px],[13,0px]] text-blend-order: - anchor: center - visible: *text_visible_populated_places - priority: 9 + priority: 11 font: - size: 11px - fill: *text_fill - stroke: { color: *text_stroke, width: 4 } - - populated-places-natural-earth-z12-backfill: - filter: { name: true, source: naturalearthdata.com, $zoom: [12], population: { max: 5000 } } + size: [[5,10px],[8,12px],[10,14px],[12,16px],[13,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } + draw: + icons: + size: [[10,6px],[11,0px]] + sprite: capital-m + priority: 10 + text-blend-order: + priority: 10 + population-200k-500k: + filter: + population: { min: 200000, max: 500000 } draw: + icons: + size: [[8,6px],[9,6px],[10,6px],[11,0px]] + sprite: townspot-m-rev + priority: 13 + collide: false #debug + text: + font: + size: [[6,10px],[8,14px],[10,15px],[12,16px],[13,0px]] text-blend-order: - anchor: center - priority: 10 + priority: 13 font: - fill: *text_fill - - z12places-1-ne: - filter: { min_zoom: [2,3] } + size: [[6,10px],[8,14px],[10,15px],[12,16px],[13,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,6px],[11,0px]] + sprite: capital-m + priority: 12 text-blend-order: - visible: *text_visible_populated_places priority: 12 + population-100k-200k: + filter: + population: { min: 100000, max: 200000 } + draw: + icons: + size: [[8,6px],[9,6px],[10,6px],[11,0px]] + sprite: townspot-m-rev + priority: 15 + text: font: - size: 18px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - text-blend-order: - priority: 11 - font: - size: 18px - stroke: { color: *text_stroke, width: 4 } - - z12places-2-ne: - filter: { min_zoom: [4,5,6] } + size: [[6,10px],[8,12px],[14,14px],[15,0px]] + text-blend-order: + priority: 15 + font: + size: [[6,10px],[8,12px],[14,14px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,6px],[11,0px]] + sprite: capital-m + priority: 14 text-blend-order: - visible: *text_visible_populated_places priority: 14 + population-50k-100k: + filter: + population: { min: 50000, max: 100000 } + draw: + icons: + size: [[8,5px],[9,5px],[10,6px],[11,0px]] + sprite: townspot-s-rev + priority: 17 + text: font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - text-blend-order: - priority: 13 - font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - - z12places-3-ne: - filter: { min_zoom: [6,7,9,10] } + size: [[6,10px],[8,12px],[14,14px],[15,0px]] + text-blend-order: + priority: 17 + font: + size: [[6,10px],[8,12px],[14,14px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,5px],[11,0px]] + sprite: capital-m + priority: 16 text-blend-order: - visible: *text_visible_populated_places priority: 16 - font: - size: 11px - stroke: { color: *text_stroke, width: 4 } - capital: - filter: { country_capital: true } - draw: - text-blend-order: - priority: 15 - font: - size: 11px - stroke: { color: *text_stroke, width: 4 } - - populated-places-osm-z13-z14: + population-20k-50k: filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: true - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [13,14] - - kind_detail: [city,town] + population: { min: 20000, max: 50000 } draw: + icons: + size: [[8,5px],[9,5px],[10,5px],[11,0px]] + sprite: townspot-s-rev + priority: 19 + text: + font: + size: [[9,10px],[14,12px],[15,0px]] text-blend-order: - anchor: center - visible: *text_visible_populated_places + priority: 19 font: - weight: 600 - fill: *text_fill - z14: - filter: - $zoom: [14] + size: [[9,10px],[14,12px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,5px],[11,0px]] + sprite: capital-s + priority: 18 text-blend-order: + priority: 18 + population-10k-20k: + filter: + population: { min: 10000, max: 20000 } + draw: + icons: + size: [[8,4px],[9,4px],[10,4px],[11,0px]] + sprite: townspot-xs-rev + priority: 21 + text: font: - weight: 600 - - z13places-1: - filter: - any: - - { population: { min: 200000 } } - draw: - text-blend-order: - visible: false - - z13places-2: - filter: - any: - - { population: { min: 50000, max: 199999 } } + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] + text-blend-order: + priority: 21 + font: + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,5px],[11,0px]] + sprite: capital-s + priority: 20 text-blend-order: - visible: *text_visible_populated_places - priority: 5 + priority: 20 + population-5k-10k: + filter: + population: { min: 5000, max: 10000 } + draw: + icons: + size: [[8,4px],[9,4px],[10,4px],[11,0px]] + sprite: townspot-xs-rev + priority: 23 + text: font: - size: 14px - stroke: { color: *text_stroke, width: 4 } - - z13places-3: - filter: - any: - - { population: { min: 5000, max: 49999 } } + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] + text-blend-order: + priority: 23 + font: + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,5px],[11,0px]] + sprite: capital-s + priority: 22 text-blend-order: - visible: *text_visible_populated_places - priority: 6 + priority: 22 + population-2k-5k: + filter: + population: { min: 2000, max: 5000 } + draw: + icons: + size: [[8,4px],[9,4px],[10,4px],[11,0px]] + sprite: townspot-xs-rev + priority: 25 + text: font: - size: 12px - stroke: { color: *text_stroke, width: 4 } - - z13places-4: - filter: - any: - - population: false - - population: true - all: - - population: { max: 5000 } + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] + text-blend-order: + priority: 25 + font: + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,5px],[11,0px]] + sprite: capital-s + priority: 24 text-blend-order: - font: - size: 12px - stroke: { color: *text_stroke, width: 4 } - - populated-places-osm-z13-z14-no-population: + priority: 24 + population-1k-2k: filter: - all: - - source: [openstreetmap, openstreetmap.org] - - name: true - - population: false - - not: { kind: [country, county, state, island, neighbourhood, suburb, quarter] } - - $zoom: [13, 14] - - kind_detail: [city,town] + population: { min: 1000, max: 2000 } draw: + icons: + size: [[8,4px],[9,4px],[10,4px],[11,0px]] + sprite: townspot-xs-rev + priority: 27 + text: + font: + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] text-blend-order: - anchor: center - visible: *text_visible_populated_places - priority: 7 + priority: 27 font: - size: 11px - stroke: { color: *text_stroke, width: 4 } - - populated-places-natural-earth-z13-z14-backfill: - filter: { name: true, source: naturalearthdata.com, $zoom: [13,14], population: { max: 5000 } } + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,12px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } + draw: + icons: + size: [[10,5px],[11,0px]] + sprite: capital-s + priority: 26 + text-blend-order: + priority: 26 + population-200-1k: + filter: + population: { min: 200, max: 1000 } draw: + icons: + size: [[8,4px],[9,4px],[10,4px],[11,0px]] + sprite: townspot-xs-rev + priority: 28 + text: + font: + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,11px],[15,0px]] text-blend-order: - anchor: center + priority: 28 font: - fill: *text_fill - weight: 400 - - z13places-1-ne: - filter: { min_zoom: [2,3] } + fill: [[9,[0.25,0.25,0.25]],[11,[0.00,0.00,0.00]]] + size: [[9,10px],[14,11px],[15,0px]] + capital: + filter: { country_capital: true, $zoom: { min: 5 } } draw: + icons: + size: [[10,5px],[11,0px]] + sprite: capital-s + priority: 27 text-blend-order: - priority: 8 - interactive: false - visible: false + priority: 27 - z13places-2-ne: - filter: { min_zoom: [4,5,6] } - draw: - text-blend-order: - priority: 9 - visible: *text_visible_populated_places - font: - size: 13px - stroke: { color: *text_stroke, width: 4 } - z13places-3-ne: - filter: { min_zoom: [6,7,9,10] } - draw: - text-blend-order: - visible: *text_visible_populated_places - priority: 10 - font: - size: 12px - stroke: { color: *text_stroke, width: 4 } neighbourhoods: filter: - all: - - name: true - - kind: [macrohood, neighbourhood] - - is_landuse_aoi: false + kind: + - macrohood + - neighbourhood + - borough + $zoom: { min: 10 } + is_landuse_aoi: false + draw: + text-blend-order: + visible: false + priority: 29 + buffer: 8px + text_wrap: 10 + max_lines: 2 + font: + fill: [0.600,0.600,0.600] + weight: normal + transform: uppercase + stroke: { color: [0.894,0.906,0.914], width: 4 } neighborhood-z11: filter: - all: - - $zoom: [11] - - min_zoom: [11] - - max_zoom: { min: 12 } - #- kind_tile_rank: { max: 6 } + $zoom: [11] + min_zoom: [11] + max_zoom: { min: 12 } + #- kind_tile_rank: { max: 6 } draw: text-blend-order: - priority: 18 text_wrap: 10 visible: *text_visible_neighbourhoods_e font: size: 9px - weight: 400 - fill: [0.085,0.658,0.710] - transform: uppercase - stroke: { color: [0.894,0.906,0.914], width: 4 } neighborhood-z12: filter: - all: - - $zoom: [12] - - min_zoom: [11,12] - - max_zoom: { min: 13 } + $zoom: [12] + min_zoom: [11,12] + max_zoom: { min: 13 } #- kind_tile_rank: { max: 8 } draw: text-blend-order: - priority: 18 text_wrap: 10 visible: *text_visible_neighbourhoods_e font: size: 10px - weight: 400 - fill: [0.085,0.658,0.710] - transform: uppercase - stroke: { color: [0.894,0.906,0.914], width: 4 } neighborhood-z13: filter: - all: - - $zoom: [13] - - min_zoom: [11,12,13] - - max_zoom: { min: 14 } - - kind_tile_rank: { max: 8 } + $zoom: [13] + min_zoom: [11,12,13] + max_zoom: { min: 14 } + kind_tile_rank: { max: 8 } draw: text-blend-order: - priority: 18 text_wrap: 10 visible: *text_visible_neighbourhoods_e font: size: 12px - weight: 400 - fill: [0.085,0.658,0.710] - transform: uppercase + weight: 300 + fill: [0.620,0.620,0.620] stroke: { color: [0.904,0.916,0.924], width: 4 } neighborhood-z14: filter: - all: - - $zoom: [14] - - min_zoom: [11,12,13,14] - - max_zoom: { min: 15 } - - kind_tile_rank: { max: 8 } + $zoom: [14] + min_zoom: [11,12,13,14] + max_zoom: { min: 15 } + kind_tile_rank: { max: 8 } draw: text-blend-order: - priority: 18 text_wrap: 12 visible: *text_visible_neighbourhoods font: - size: 15px + size: 16px weight: 300 - fill: [0.085,0.658,0.710] - transform: uppercase + fill: [0.600,0.600,0.600] stroke: { color: [0.914,0.926,0.934], width: 5 } neighborhood-z15: filter: - all: - - $zoom: [15] - - min_zoom: [11,12,13,14,15] - - max_zoom: { min: 16 } - - kind_tile_rank: { max: 8 } + $zoom: [15] + min_zoom: [11,12,13,14,15] + max_zoom: { min: 16 } + kind_tile_rank: { max: 8 } draw: text-blend-order: - priority: 18 text_wrap: 12 visible: *text_visible_neighbourhoods font: - size: 18px - weight: 200 - fill: [0.085,0.658,0.710] - transform: uppercase + size: 21px + weight: 300 + fill: [0.650,0.650,0.650] stroke: { color: [0.949,0.953,0.953], width: 6 } z15-new: filter: @@ -5684,22 +4365,20 @@ layers: size: 13px neighborhood-z16: filter: - all: - - $zoom: [16] - - min_zoom: [11,12,13,14,15,16] - - max_zoom: { min: 17 } - - kind_tile_rank: { max: 8 } + $zoom: [16] + min_zoom: [11,12,13,14,15,16] + max_zoom: { min: 17 } + kind_tile_rank: { max: 8 } draw: text-blend-order: - priority: 18 visible: *text_visible_neighbourhoods font: - size: 20px + size: 24px weight: 300 - fill: [0.082,0.780,1.000] - transform: uppercase + fill: [0.00,0.00,0.00,0.50] stroke: { color: [0.949,0.953,0.953], width: 6 } + highway-exit: data: { source: mapzen, layer: [pois] } filter: { kind: motorway_junction, $zoom: { min: 15 } } @@ -5708,7 +4387,7 @@ layers: visible: false text-blend-order: visible: *text_visible_exits - interactive: true + interactive: global.interactive text_source: ref priority: 52 font: @@ -5729,7 +4408,7 @@ layers: visible: false text-blend-order: visible: *text_visible_airport_gate - interactive: true + interactive: global.interactive text_source: ref font: fill: *text_fill_exits @@ -5765,15 +4444,15 @@ layers: draw: icons: size: [[13, 18px], [16, 18px], [18, 22px]] - interactive: true + interactive: global.interactive visible: false priority: 65 repeat_group: abc text: visible: false # labels are enabled by each layer below + text_source: global.ux_language_text_source move_into_tile: false # preserves text alignment w/icons in JS buffer: 7px - interactive: true font: family: *text_font_family weight: 600 @@ -5783,7 +4462,8 @@ layers: text: visible: false # labels are enabled by each layer below, and these are only for special cases like enclosures move_into_tile: false # preserves text alignment w/icons in JS - interactive: true + interactive: global.interactive + text_source: global.ux_language_text_source font: family: *text_font_family weight: 600 @@ -5827,19 +4507,19 @@ layers: priority: 49 baseball: filter: { kind_detail: baseball } - draw: { icons: { sprite: baseball-field } } + draw: { icons: { sprite: baseball } } basketball: filter: { kind_detail: basketball } - draw: { icons: { sprite: basketball-court } } + draw: { icons: { sprite: basketball } } football: filter: { kind_detail: football } - draw: { icons: { sprite: football-stadium } } + draw: { icons: { sprite: football } } hockey: - filter: { kind_detail: hockey-field } - draw: { icons: { sprite: hockey-field } } + filter: { kind_detail: hockey } + draw: { icons: { sprite: hockey } } soccer: filter: { kind_detail: soccer } - draw: { icons: { sprite: soccer-field } } + draw: { icons: { sprite: soccer } } tennis: filter: { kind_detail: tennis } draw: { icons: { sprite: tennis } } @@ -5856,21 +4536,19 @@ layers: filter: { $zoom: [18] } draw: icons: - # to circle white SMALL color: [0.459,0.765,0.722] - sprite: dot-white + sprite: tree-s z19: filter: { $zoom: [19] } draw: icons: - # to circle white SMALL sprite: tree gate: filter: { kind: gate, $zoom: { min: 19 } } draw: icons: # to circle black generic - sprite: dot-black + sprite: gate visible: *icon_visible_poi_landuse_e text: text_source: function() { return 'gate'; } @@ -5885,20 +4563,20 @@ layers: draw: { icons: { sprite: playground, visible: *icon_visible_poi_landuse_e } } picnic_site: filter: { kind: [picnic_site, picnic_table], $zoom: { min: 15 } } - draw: { icons: { sprite: picnic-spot, visible: *icon_visible_poi_landuse_e } } + draw: { icons: { sprite: picnic_site, visible: *icon_visible_poi_landuse_e } } information: filter: { kind: information, $zoom: { min: 18 } } draw: { icons: { sprite: information, visible: *icon_visible_poi_landuse_e } } - drinking-water: + drinking_water: filter: { kind: drinking_water, $zoom: { min: 18 } } - draw: { icons: { sprite: drinking-water, visible: *icon_visible_poi_landuse_e } } - traffic-signal: + draw: { icons: { sprite: drinking_water, visible: *icon_visible_poi_landuse_e } } + traffic_signals: filter: { kind: traffic_signals, $zoom: { min: 18 } } - draw: { icons: { sprite: traffic-signal, visible: *icon_visible_poi_landuse_e } } - bicycle-parking: + draw: { icons: { sprite: traffic_signals, visible: *icon_visible_poi_landuse_e } } + bicycle_parking: filter: { kind: [bicycle_parking], $zoom: { min: 19 } } - draw: { icons: { sprite: bicycle-parking, visible: *icon_visible_poi_landuse_e } } - car-parking: + draw: { icons: { sprite: bicycle_parking, visible: *icon_visible_poi_landuse_e } } + parking: filter: { kind: parking, $zoom: { min: 17 } } draw: icons: @@ -5930,27 +4608,27 @@ layers: icons: sprite: bbq visible: *icon_visible_poi_landuse_e - ranger-station: + ranger_station: filter: { kind: [ranger_station], $zoom: { min: 15 } } - draw: { icons: { sprite: ranger-station, visible: *icon_visible_poi_landuse_e } } + draw: { icons: { sprite: ranger_station, visible: *icon_visible_poi_landuse_e } } trailhead: filter: { kind: [trailhead], $zoom: { min: 15 } } draw: { icons: { sprite: trailhead, visible: *icon_visible_poi_landuse_e } } firepit: filter: { kind: [firepit], $zoom: { min: 15 } } draw: { icons: { sprite: firepit, visible: *icon_visible_poi_landuse_e } } - swimming-area: + swimming_area: filter: { kind: [swimming_area], $zoom: { min: 15 } } - draw: { icons: { sprite: swimming-area, visible: *icon_visible_poi_landuse_e } } + draw: { icons: { sprite: swimming_area, visible: *icon_visible_poi_landuse_e } } fishing_area: filter: { kind: [fishing_area], $zoom: { min: 15 } } - draw: { icons: { sprite: fishing-area, visible: *icon_visible_poi_landuse_e } } + draw: { icons: { sprite: fishing_area, visible: *icon_visible_poi_landuse_e } } slipway: filter: { kind: [slipway], $zoom: { min: 15 } } draw: { icons: { sprite: slipway, visible: *icon_visible_poi_landuse_e } } - hot-spring: + hot_spring: filter: { kind: [hot_spring], $zoom: { min: 15 } } - draw: { icons: { sprite: hot-spring, visible: *icon_visible_poi_landuse_e } } + draw: { icons: { sprite: hot_spring, visible: *icon_visible_poi_landuse_e } } spring: filter: { kind: [spring], $zoom: { min: 15 } } draw: { icons: { sprite: spring, visible: *icon_visible_poi_landuse_e } } @@ -5963,12 +4641,9 @@ layers: observatory: filter: { kind: [observatory], $zoom: { min: 14 } } draw: { icons: { sprite: observatory, visible: *icon_visible_poi_landuse_e } } - boat-rental: - filter: { kind: [boat_rental], $zoom: { min: 15 } } - draw: { icons: { sprite: boat-rental, visible: *icon_visible_poi_landuse_e } } - water-tower: + water_tower: filter: { kind: [water_tower], $zoom: { min: 15 } } - draw: { icons: { sprite: water-tower, visible: *icon_visible_poi_landuse_e } } + draw: { icons: { sprite: water_tower, visible: *icon_visible_poi_landuse_e } } battlefield: filter: { kind: [battlefield] } draw: { icons: { sprite: battlefield, visible: *icon_visible_poi_landuse_e } } @@ -5982,7 +4657,7 @@ layers: visible: true text_source: ref outdoor-needing-icons: - filter: { kind: [bicycle_repair_station, life_ring, waste_disposal, watering_place, water_point, lifeguard_tower, power_pole, power_tower, petroleum_well, communications_tower, silo, putin, egress, hazard, put_in_egress, rapid, beacon, cross, water_well, saddle, dune, sinkhole, rock, stone, bicycle_junction, walking_junction, dam, boat_storage, windmill, horse, fire_lookout, fee_station, rest_area] } + filter: { kind: [boat_rental, bicycle_repair_station, life_ring, waste_disposal, watering_place, water_point, lifeguard_tower, power_pole, power_tower, petroleum_well, communications_tower, silo, putin, egress, hazard, put_in_egress, rapid, beacon, cross, water_well, saddle, dune, sinkhole, rock, stone, bicycle_junction, walking_junction, dam, boat_storage, windmill, horse, fire_lookout, fee_station, rest_area] } draw: icons: priority: 43 @@ -6054,6 +4729,7 @@ layers: priority: 41 text: visible: *text_visible_landuse_green + text_source: global.ux_language_text_source font: style: italic stroke: { color: *text_stroke_park, width: 4 } @@ -6252,11 +4928,9 @@ layers: draw: icons: visible: *icon_visible_landuse_green - interactive: true sprite: beach text: visible: *text_visible_landuse_green - interactive: true airport: filter: all: @@ -6283,7 +4957,7 @@ layers: priority: 42 text: visible: *text_visible_landuse_green - text_source: function() { if(feature.iata) { return feature.name + ' (' + feature.iata + ')'; } else { return feature.name; } } + text_source: global.ux_language_text_source_iata font: #fill: [0.10,0.10,0.10] size: 10px @@ -6318,7 +4992,7 @@ layers: visible: *label_visible_landuse_green draw: icons: - sprite: college-university + sprite: college visible: *icon_visible_landuse_green priority: 41 text: @@ -6383,7 +5057,7 @@ layers: - { $zoom: { min: 18 } } draw: icons: - sprite: ski-area + sprite: ski visible: *icon_visible_landuse_green priority: 41 text: @@ -6426,7 +5100,7 @@ layers: draw: icons: visible: false - sprite_default: dot-black + sprite_default: enclosure text: text_wrap: 10 font: @@ -6484,7 +5158,6 @@ layers: text: visible: true priority: 44 - interactive: true text_wrap: 10 font: weight: 400 @@ -6562,12 +5235,12 @@ layers: icons: visible: false text: { font: { style: italic } } - burial_vault-early: - filter: { kind: [burial_vault], $zoom: { max: 19 } } - draw: - icons: - visible: false - text: { visible: false } + # burial_vault-early: + # filter: { kind: [burial_vault], $zoom: { max: 19 } } + # draw: + # icons: + # visible: false + # text: { visible: false } garden-area-early: filter: all: @@ -6789,12 +5462,12 @@ layers: font: style: italic station-train-subway: - filter: { kind: [station, train-station, train_station], $zoom: { min: 11 } } + filter: { kind: [station, train_station], $zoom: { min: 11 } } visible: *label_visible_station draw: icons: visible: *icon_visible_station - sprite: train-station + sprite: train_station size: [[13, 12px], [14, 12px], [15, 16px], [17, 18px], [18, 20px]] priority: 41 text: @@ -6859,7 +5532,6 @@ layers: text: visible: false priority: 45 - interactive: true text_wrap: 10 font: weight: 400 @@ -6914,7 +5586,7 @@ layers: visible: false text: { visible: false } outdoor-needing-icons: - filter: { kind: [bicycle_repair_station, cycle_barrier, life_ring, waste_disposal, watering_place, water_point, lifeguard_tower, power_pole, power_tower, petroleum_well, communications_tower, putin, egress, hazard, put_in_egress, rapid, beacon, cross, mineshaft, adit, water_well, saddle, dune, sinkhole, rock, stone, bicycle_junction, walking_junction, dam, boat_storage, windmill, fishing, recreation_track, horse, fire_lookout, fee_station, rest_area] } + filter: { kind: [boat_rental,bicycle_repair_station, cycle_barrier, life_ring, waste_disposal, watering_place, water_point, lifeguard_tower, power_pole, power_tower, petroleum_well, communications_tower, putin, egress, hazard, put_in_egress, rapid, beacon, cross, mineshaft, adit, water_well, saddle, dune, sinkhole, rock, stone, bicycle_junction, walking_junction, dam, boat_storage, windmill, fishing, recreation_track, horse, fire_lookout, fee_station, rest_area] } draw: icons: order: 41 @@ -6961,66 +5633,6 @@ layers: font: style: italic icons: - adult-boutique: - filter: { kind: [erotic, adult_boutique] } - draw: { icons: { sprite: adult-boutique } } - allotments: - filter: { kind: [allotments] } - draw: { icons: { sprite: allotments } } - airport: - filter: { kind: [airport, aerodrome] } - draw: { icons: { sprite: airport } } - animal-shelter: - filter: { kind: [animal_shelter, animal-shelter, animal_boarding] } - draw: { icons: { sprite: animal-shelter } } - antique-shop: - filter: { kind: [antiques, antique-shop] } - draw: { icons: { sprite: antique-shop } } - art-gallery: - filter: { kind: [art_gallery, art-gallery, art, artwork] } - draw: { icons: { sprite: art-gallery } } - athletics-sports: - filter: { kind: [athletic_sports, recreation_ground, sports_centre] } - draw: { icons: { sprite: athletics-sports } } - automotive-shop: - filter: { kind: [car_repair, automotive-shop, automotive, tyres] } - draw: { icons: { sprite: automotive-shop } } - bbq: - filter: { kind: [bbq] } - draw: { icons: { sprite: bbq } } - bakery: - filter: { kind: [bakery, pastry, chocolate] } - draw: { icons: { sprite: bakery } } - bar: - filter: { kind: [pub, bar] } - draw: { icons: { sprite: bar } } - beach-resort: - filter: { kind: [beach_resort] } - draw: { icons: { sprite: beach-resort } } - beer-garden: - filter: { kind: [biergarten, beer-garden, brewery] } - draw: { icons: { sprite: beer-garden } } - bike-shop: - filter: { kind: [bicycle, bicycle_rental, bike, bike_shop, bicycle_rental_station] } - draw: { icons: { sprite: bike-shop } } - bicycle-parking: - filter: { kind: [bicycle_parking] } - draw: { icons: { sprite: bicycle-parking } } - boat-ferry: - filter: { kind: [ferry_terminal, boat-ferry, ferry-boat, ferry] } - draw: { icons: { sprite: boat-ferry } } - boat-ramp: - filter: { kind: [boat-ramp, boat_ramp] } - draw: { icons: { sprite: boat-ramp } } - bookstore: - filter: { kind: [books, bookstore] } - draw: { icons: { sprite: bookstore } } - bowling-alley: - filter: { kind: [bowling_alley, bowling-alley] } - draw: { icons: { sprite: bowling-alley } } - bridal-shop: - filter: { kind: [bridal, bridal-shop] } - draw: { icons: { sprite: bridal-shop } } building-icon: filter: { kind: [building, auditorium, terminal, hangar, retirement_home, manor, recreation_center, apartments] } draw: { icons: { sprite: building } } @@ -7037,390 +5649,33 @@ layers: visible: false text: visible: false - burger: - filter: { kind: [fast_food, burger] } - draw: { icons: { sprite: burger } } - bus-station: - filter: { kind: [bus_stop, bus_station] } - draw: { icons: { sprite: bus-station } } - camera-store: - filter: { kind: [camera, camera-store, photo] } - draw: { icons: { sprite: camera-store } } - campground: - filter: { kind: [campground, camp_site] } - draw: { icons: { sprite: campground } } - candy-store: - filter: { kind: [candy, candy-store, confectionery] } - draw: { icons: { sprite: candy-store } } - caravan-site: - filter: { kind: [caravan_site] } - draw: { icons: { sprite: caravan-site } } - car-dealership: - filter: { kind: [car, car-dealership] } - draw: { icons: { sprite: car-dealership } } - car-wash: - filter: { kind: [car_wash, car-wash] } - draw: { icons: { sprite: car-wash } } - castle: - filter: { kind: [castle, fort] } - draw: { icons: { sprite: castle } } - cemetery: - filter: { kind: [grave_yard, cemetery] } - draw: { icons: { sprite: cemetery } } - cheese-shop: - filter: { kind: [cheese, cheese-shop] } - draw: { icons: { sprite: cheese-shop } } - clothing-store: - filter: { kind: [clothes, chothing-store, "clothes store", fashion] } - draw: { icons: { sprite: clothing-store } } - coffee-shop: - filter: { kind: [cafe, coffee-shop] } - draw: { icons: { sprite: coffee-shop } } - college-university: - filter: { kind: [university, college, college-university], area: false } - draw: { icons: { sprite: college-university } } - commercial: - filter: { kind: [commercial] } - draw: { icons: { sprite: mall } } - concert-hall: - filter: { kind: [music_venue] } - draw: { icons: { sprite: concert-hall } } - convenience-store: - filter: { kind: [convenience, convenience-store, convenience_store, beverages] } - draw: { icons: { sprite: convenience-store } } - cosmetics-shop: - filter: { kind: [cosmetics, cosmetics-shop, beauty] } - draw: { icons: { sprite: cosmetics-shop } } + college: + filter: { kind: [university, college], area: false } + draw: { icons: { sprite: college } } dam: filter: { kind: [dam] } - draw: { icons: { sprite: dot-black } } - department-store: - filter: { kind: [department_store, department-store] } - draw: { icons: { sprite: department-store } } - doctors: - filter: { kind: [doctors, clinic] } - draw: { icons: { sprite: doctors } } - dog-park: - filter: { kind: [dog_park, dog_run, dog-run] } - draw: { icons: { sprite: dog-park } } - drinking-water: - filter: { kind: drinking_water } - draw: { icons: { sprite: drinking-water } } - dry-cleaning: - filter: { kind: [dry_cleaning] } - draw: { icons: { sprite: dry-cleaning } } - electronics-store: - filter: { kind: [electronics, electronics-store, computer] } - draw: { icons: { sprite: electronics-store } } - factory: - filter: { kind: [factory, industrial, chimney, sub_station, substation, wastewater_plant, works, water_works, plant, generator] } - draw: { icons: { sprite: factory } } - farmers-market: - filter: { kind: [farmers_market, farmers-market] } - draw: { icons: { sprite: farmers-market } } - fire-station: - filter: { kind: [fire_station, fire-station] } - draw: { icons: { sprite: fire-station } } - fish-market: - filter: { kind: [fish, fish-market, seafood, fishmonger] } - draw: { icons: { sprite: fish-market } } - fishing-area: - filter: { kind: [fishing_area, fishing-spot, fishing] } - draw: { icons: { sprite: fishing-area } } - fitness: - filter: { kind: [gym, fitness, fitness_center] } - draw: { icons: { sprite: fitness } } - flea-market: - filter: { kind: [flea_market, flea-market] } - draw: { icons: { sprite: flea-market } } - flower-shop: - filter: { kind: [florist, flower-shop] } - draw: { icons: { sprite: flower-shop } } - forest: - filter: { kind: [forest, conservation, wood] } - draw: { icons: { sprite: forest } } - furniture-store: - filter: { kind: [furniture, furniture-store] } - draw: { icons: { sprite: furniture-store } } - garden-center: - filter: { kind: [garden_centre, garden_center] } - draw: { icons: { sprite: garden-center } } - gas: - filter: { kind: [gas, gas_canister] } - draw: { icons: { sprite: gas } } - gas-station: - filter: { kind: [fuel, gas-station] } - draw: { icons: { sprite: gas-station } } - general-entertainment: - filter: { kind: [ticket, general_entertainment] } - draw: { icons: { sprite: general-entertainment } } - generic: - filter: { kind: [generic] } - draw: { icons: { sprite: generic } } - gift-shop: - filter: { kind: [gift, gift-shop] } - draw: { icons: { sprite: gift-shop } } - golf-course: - filter: { kind: [golf-course, golf_course] } - draw: { icons: { sprite: golf-course } } - government-building: - filter: { kind: [townhall, public_building, embassy] } - draw: { icons: { sprite: government-building } } - grocery-store: - filter: { kind: [supermarket, grocery-store, health_food, greengrocer] } - draw: { icons: { sprite: grocery-store } } - harbor-marina: - filter: { kind: [marina, harbor, harbor-marina, harbor_marina, dock, mooring] } - draw: { icons: { sprite: harbor-marina } } + draw: { icons: { sprite: dam } } hardware-store: filter: { kind: [hardware, hardware-store, doityourself, paint] } draw: { icons: { sprite: hardware-store } } hotel: filter: { kind: [hotel, motel, hostel] } draw: { icons: { sprite: hotel } } - hot_spring: - filter: { kind: [hot_spring] } - draw: { icons: { sprite: hot-spring } } - hunting: - filter: { kind: [hunting] } - draw: { icons: { sprite: hunting } } - ice-cream-shop: - filter: { kind: [ice_cream] } - draw: { icons: { sprite: ice-cream-shop } } - information: - filter: { kind: [info, information] } - draw: { icons: { sprite: information } } - jewelry-store: - filter: { kind: [jewelry, jewelry_store, jewelry-store] } - draw: { icons: { sprite: jewelry-store } } landmark: filter: { kind: [landmark, memorial, monument, wayside_shrine, beacon] } draw: { icons: { sprite: landmark } } tower: filter: { kind: [tower], label_placement: false } draw: { icons: { sprite: landmark } } - laundry: - filter: { kind: [laundry] } - draw: { icons: { sprite: laundry } } - light-rail: - filter: { kind: [light-rail, light_rail, tram_stop] } - draw: { icons: { sprite: light-rail } } - liquor-store: - filter: { kind: [alcohol, liquor-store, liquor] } - draw: { icons: { sprite: liquor-store } } - market: - filter: { kind: [market, variety_store, boutique, dairy, retail] } - draw: { icons: { sprite: market } } - mine: - filter: { kind: [mine, mineshaft, adit] } - draw: { icons: { sprite: mine } } - quarry: - filter: { kind: [quarry] } - draw: { icons: { sprite: quarry } } - miscellaneous-shop: - filter: { kind: [houseware, miscellaneous-shop] } - draw: { icons: { sprite: miscellaneous-shop } } - mobile-phone-shop: - filter: { kind: [mobile_phone] } - draw: { icons: { sprite: mobile-phone-shop } } - motorcycle-shop: - filter: { kind: [motorcycle_shop, motorcycle_repair] } - draw: { icons: { sprite: motorcycle-shop } } - motorcycle: - filter: { kind: [motorcycle] } - draw: { icons: { sprite: motorcycle } } - mountain: - filter: { kind: [mountain, peak] } - draw: { icons: { sprite: mountain } } - movie-theatre: - filter: { kind: [cinema, movie-theatre, movie-theater] } - draw: { icons: { sprite: movie-theatre } } - museum: - filter: { kind: [museum] } - draw: { icons: { sprite: museum } } - music-store: - filter: { kind: [music, music-store, musical_instrument] } - draw: { icons: { sprite: music-store } } - newsstand: - filter: { kind: [kiosk, newsstand, newsagent] } - draw: { icons: { sprite: newsstand } } - nightlife: - filter: { kind: [nightclub, nightlife] } - draw: { icons: { sprite: nightlife } } - office: - filter: { kind: [insurance, office, company] } - draw: { icons: { sprite: office } } - office-supplies: - filter: { kind: [office_supplies, office-supplies, stationery] } - draw: { icons: { sprite: office-supplies } } - optical-shop: - filter: { kind: [optician, optical_shop, optical-shop] } - draw: { icons: { sprite: optical-shop } } - outdoor: - filter: { kind: [outdoor] } - draw: { icons: { sprite: outdoor } } - performing-arts: - filter: { kind: [theater, theatre, performing-arts] } - draw: { icons: { sprite: performing-arts } } - pet-store: - filter: { kind: [pet, pet-store, pet-service, pet_store] } - draw: { icons: { sprite: pet-store } } - pharmacy: - filter: { kind: [pharmacy, chemist] } - draw: { icons: { sprite: pharmacy } } - photography-lab: - filter: { kind: [photo_studio, photography_lab, photographer] } - draw: { icons: { sprite: photography-lab } } - picnic-spot: - filter: { kind: [picnic_site, picnic_spot, picnic-spot, picnic_table] } - draw: { icons: { sprite: picnic-spot } } - pool: - filter: { kind: [pool, swimming_pool] } - draw: { icons: { sprite: pool } } - pool-hall: - filter: { kind: [billiards, pool-hall] } - draw: { icons: { sprite: pool-hall } } - post-office: - filter: { kind: [post_office, post-office] } - draw: { icons: { sprite: post-office } } - power-pylon: - filter: { kind: [tower, power-pylon, pylon] } - draw: { icons: { sprite: power-pylon } } - ranger-station: - filter: { kind: [ranger_station] } - draw: { icons: { sprite: ranger-station } } - real-estate: - filter: { kind: [estate_agent, real_estate] } - draw: { icons: { sprite: real-estate } } - recreation-track: - filter: { kind: [recreation_track] } - draw: { icons: { sprite: recreation-track } } - recycling-facility: - filter: { kind: [recycling, recycling-facility] } - draw: { icons: { sprite: recycling-facility } } - rental-car: - filter: { kind: [rental-car, car_rental, car_sharing] } - draw: { icons: { sprite: rental-car } } - rest-area: - filter: { kind: [rest_area, rest-area] } - draw: { icons: { sprite: rest-area } } - restaurant: - filter: { kind: [restaurant, deli] } - draw: { icons: { sprite: restaurant } } - ruin: - filter: { kind: [ruins, archaeological_site] } - draw: { icons: { sprite: ruin } } - salon-barber: - filter: { kind: [hairdresser, salon-barber, salon, beauty_salon] } - draw: { icons: { sprite: salon-barber } } - scuba-diving: - filter: { kind: [scuba_diving,dive_centre] } - draw: { icons: { sprite: scuba-diving } } - ship-wreck: - filter: { kind: [wreck] } - draw: { icons: { sprite: ship-wreck } } - shoe-store: - filter: { kind: [shoes, shoe-store, shoe_store] } - draw: { icons: { sprite: shoe-store } } - slipway: - filter: { kind: [slipway] } - draw: { icons: { sprite: slipway } } - smoke-shop: - filter: { kind: [smoke_shop, tobacco] } - draw: { icons: { sprite: smoke-shop } } - spa-massage: - filter: { kind: [spa, spa-massage, sauna, massage] } - draw: { icons: { sprite: spa-massage } } # prefix with "a-" here to allow Tangram to sort the generic style 1st, allowing more specific religion tags to win later - a-spiritual-center: + place_of_worship: filter: all: - - kind: [spiritual_center, spiritual-center, place_of_worship, wayside_chapel] - draw: { icons: { sprite: spiritual-center } } - church: - filter: { kind: [spiritual_center, spiritual-center, place_of_worship, wayside_chapel], religion: christian } - draw: { icons: { sprite: church } } - synagogue: - filter: { kind: [spiritual_center, spiritual-center, place_of_worship, wayside_chapel], religion: jewish } - draw: { icons: { sprite: synagogue } } - buddhist: - filter: { kind: [spiritual_center, spiritual-center, place_of_worship, wayside_chapel], religion: buddhist } - draw: { icons: { sprite: buddhism } } - mosque: - filter: { kind: [spiritual_center, spiritual-center, place_of_worship, wayside_chapel], religion: muslim } - draw: { icons: { sprite: mosque } } - sporting-goods-shop: - filter: { kind: [sporting_goods, sporting-goods-shop, sports] } - draw: { icons: { sprite: sporting-goods-shop } } - stable: - filter: { kind: [stable, horse_riding, horse] } - draw: { icons: { sprite: stable } } - storage-facility: - filter: { kind: [storage, storage-facility] } - draw: { icons: { sprite: storage-facility } } - subway-entrance: - filter: { kind: [subway_entrance] } - draw: { icons: { sprite: subway-entrance } } - summer-camp: - filter: { kind: [summer_camp] } - draw: { icons: { sprite: summer-camp } } - tailor-shop: - filter: { kind: [tailor, tailor-shop] } - draw: { icons: { sprite: tailor-shop } } - tattoo-parlor: - filter: { kind: [tattoo, tattoo_parlor, tattoo-parlor] } - draw: { icons: { sprite: tattoo-parlor } } - telescope: - filter: { kind: [telescope] } - draw: { icons: { sprite: telescope } } - theme-park: - filter: { kind: [theme_park, theme-park, miniature_golf] } - draw: { icons: { sprite: theme-park } } - thrift-vintage-store: - filter: { kind: [thrift, thrift-vintage-store, second_hand] } - draw: { icons: { sprite: thrift-vintage-store } } - toll-booth: - filter: { kind: [toll_booth, checkpoint, border_control] } - draw: { icons: { sprite: toll-booth } } - toy-game-store: - filter: { kind: [toys, toy-game-store, baby_goods] } - draw: { icons: { sprite: toy-game-store } } - toilets: - filter: { kind: [toilets] } - draw: { icons: { sprite: toilets } } - trailhead: - filter: { kind: [trailhead, hiking_trail] } - draw: { icons: { sprite: trailhead } } - veterinarian: - filter: { kind: [pet_care, veterinarian, veterinary] } - draw: { icons: { sprite: veterinarian } } - video-game-store: - filter: { kind: [video_games] } - draw: { icons: { sprite: video-game-store } } - video-store: - filter: { kind: [video, video_store] } - draw: { icons: { sprite: video-store } } - view-point: - filter: { kind: [viewpoint, view_point, view-point, vista] } - draw: { icons: { sprite: view-point } } - waterfall: - filter: { kind: [waterfall] } - draw: { icons: { sprite: waterfall } } - waterpark: - filter: { kind: [water_park] } - draw: { icons: { sprite: waterpark } } - well: - filter: { kind: [well, water_well] } - draw: { icons: { sprite: well } } - wine-shop: - filter: { kind: [wine, wine-shop] } - draw: { icons: { sprite: wine-shop } } - winery: - filter: { kind: [winery, wine] } - draw: { icons: { sprite: winery } } - winter_sport: - filter: { kind: [ski, ski_rental, ski_school, ski_jumping, skiing] } - draw: { icons: { sprite: ski-area } } + - kind: [place_of_worship, wayside_chapel] + draw: + icons: + sprite: function() { return feature.religion; } + sprite_default: place_of_worship water-area-labels: data: { source: mapzen, layer: [water] } visible: *text_visible_water_labels @@ -7449,6 +5704,7 @@ layers: default-label-text: draw: text-blend-order: + text_source: global.ux_language_text_source font: fill: *text_fill_water family: *text_font_family @@ -7475,99 +5731,76 @@ layers: filter: { name: true, kind: [sea, ocean] } draw: text-blend-order: + text_source: global.ux_language_text_source font: fill: *text_fill_water family: *text_font_family - weight: 400 + weight: normal size: 12px transform: uppercase - sea-early: - filter: { $zoom: [3], kind: sea } - draw: { text-blend-order: { visible: false } } ocean-spacer: filter: { kind: ocean } ocean-spacer-z1-z4: filter: { $zoom: { min: 1, max: 4 } } draw: text-blend-order: - text_source: function() { return feature.name.split('').join(' ') } + text_source: global.ux_language_text_source_sea text_wrap: false ocean-spacer-z4-up: filter: { $zoom: { min: 4 } } draw: text-blend-order: - text_source: function() { return feature.name.split('').join(' ') } + text_source: global.ux_language_text_source_ocean text_wrap: false - ocean-labels-z1: - filter: { $zoom: [1] } - draw: - text-blend-order: { font: { size: 8px } } - ocean-labels-z2: - filter: { $zoom: [2] } - draw: - text-blend-order: { font: { size: 10px } } - ocean-labels-z3: - filter: { $zoom: [3] } + ocean-labels: draw: - text-blend-order: { font: { size: 13px } } - ocean-labels-z4-up: - filter: { $zoom: { min: 4} } - draw: - text-blend-order: { font: { size: 16px } } + text-blend-order: + font: + size: [[1,8px],[2,10px],[3,13px],[4,16px]] + sea-early: + filter: { $zoom: [3], kind: sea } + draw: { text-blend-order: { visible: false } } sea-spacer: filter: { not: { kind: [ocean] }, $zoom: { min: 4 } } draw: text-blend-order: - text_source: function() { return feature.name.split('').join(' ') } + text_source: global.ux_language_text_source_sea text_wrap: false sea-labels: filter: { not: { kind: [ocean] } } - sea-labels-z4: - filter: { $zoom: [4] } - draw: - text-blend-order: { font: { size: 8px, fill: [0.250,0.250,0.250] } } - sea-labels-z5: - filter: { $zoom: [5] } - draw: - text-blend-order: { font: { size: 10px } } - sea-labels-z6: - filter: { $zoom: [6] } - draw: - text-blend-order: { font: { size: 11px } } - sea-labels-z7: - filter: { $zoom: [7] } - draw: - text-blend-order: { font: { size: 12px } } - sea-labels-z8: - filter: { $zoom: { min: 8} } - draw: - text-blend-order: { font: { size: 14px } } + draw: + text-blend-order: + font: + fill: [0.350,0.350,0.350] + size: [[4,8px],[6,11px],[8,14px]] earth-labels: data: { source: mapzen, layer: earth } filter: { name: true } + draw: + text-blend-order: + text_source: global.ux_language_text_source continent: - filter: { name: true, kind: [continent], $zoom: {max: 5} } + filter: { kind: [continent], $zoom: {max: 5} } draw: text-blend-order: visible: *text_visible_continent + text_source: global.ux_language_text_source_continent_stacked_only + text_wrap: false font: - size: 14px + family: *text_font_family + size: [[1,11px],[3,14px]] style: italic fill: *text_fill - weight: 600 - # stroke: { color: *text_stroke, width: 4 } + weight: normal transform: uppercase - continent-spacer: - filter: { kind: continent } - continent-spacer-z1-z5: - filter: { $zoom: { min: 1, max: 5 } } + continent-spacer: + filter: { $zoom: { min: 2 } } draw: text-blend-order: - text_source: function() { return feature.name.split('').join(' ') } - text_wrap: false + text_source: global.ux_language_text_source_continent island: filter: { kind: [archipelago, island, islet] } draw: @@ -7575,10 +5808,11 @@ layers: visible: *text_visible_island text_wrap: 10 font: + family: *text_font_family size: 12px style: italic fill: *text_fill - weight: 400 + weight: normal stroke: { color: *text_stroke, width: 4 } #transform: uppercase @@ -8126,7 +6360,6 @@ layers: draw: lines: order: 999 - interactive: true #cliff: # filter: { kind: cliff } # draw: @@ -8252,7 +6485,6 @@ layers: draw: dots-lines: order: 1002 - interactive: true color: [0.120,0.600,0.520] #width: [[13, 0.75px], [14, 0.85px], [15, 1.1px], [16, 3px], [17, 6px], [18, 7px], [19, 10px]] width: [[13, 0.75px], [14, 1px], [15, 3.5px], [16, 3px], [17, 4px], [18, 5px], [19, 8px]] @@ -8260,7 +6492,6 @@ layers: #color: purple lines: order: 1000 - interactive: true #width: [[13, 0.75px], [14, 0.85px], [15, 1.1px], [16, 2px], [17, 6px], [18, 7px], [19, 10px]] #color: [[15,[0.120,0.600,0.520]],[16,[0.623,0.820,0.797]]] color: [[14,[0.510,0.752,0.695]],[15,[0.671,0.839,0.820]],[16,[0.671,0.839,0.820]]] @@ -8395,7 +6626,6 @@ layers: # color: blue #[0.120,0.600,0.520] # width: [[13, 1px], [14, 1.45px], [15, 1.1px], [16, 1.5px], [17, 2px], [18, 5px], [19, 6px]] # order: 1004 - interactive: true color: [[11,[0.120,0.600,0.520]],[14,[0.120,0.600,0.520]],[15,[1.00,1.00,1.00]]] #width: [[11, 0.25px], [12, 0.35px], [13, 0.55px],[14,1px],[15,0px]] width: [[13, 0.75px], [14, 1.1px], [15, 1.1px], [16, 1.5px], [17, 2.2px], [18, 5px], [19, 6px]] @@ -8452,7 +6682,6 @@ layers: # color: [0.756,0.563,0.499] width: [[13, 0.6px], [14, 1px], [15, 1.1px], [16, 1.25px], [17, 1.5px], [18, 5px], [19, 6px]] order: 990 - interactive: true late: filter: { $zoom: { min: 16 } } draw: @@ -8518,7 +6747,6 @@ layers: color: [0.710,0.553,0.522] width: [[11, 0.25px], [12, 0.35px], [13, 0.55px], [14, 1px], [15, 0px], [16, 1.5px], [17, 3px], [18, 3m]] order: 990 - interactive: true late: filter: { $zoom: { min: 15 } } draw: @@ -8559,7 +6787,6 @@ layers: color: [0.120,0.600,0.520] width: [[11, 0.25px], [12, 0.35px], [13, 0.55px], [14, 1px], [15, 0px], [16, 1px], [17, 6px], [18, 9m]] order: 990 - interactive: true double-lines: filter: { $zoom: { min: 16 } } draw: @@ -8571,13 +6798,11 @@ layers: width: [[15, 0.5px],[16, 1.5px],[17, 1.5px],[18, 2.5px],[19, 1m]] casing_left: visible: false - interactive: true order: 486 color: [0.120,0.600,0.520] width: [[15, 0.5px],[16, 5.5px],[17, 10px],[18, 9m],[19, 8m]] casing_right: visible: false - interactive: true order: 486 color: white width: [[15, 0.5px],[16, 6px],[17, 10px],[18, 9m],[19, 8m]] @@ -8600,3 +6825,357 @@ layers: visible: false highlight: visible: false + + transit-overlay-rail-lines: + data: { source: mapzen, layer: transit } + filter: + not: { kind: [platform, railway] } + draw: + lines: + order: 499 + visible: global.sdk_transit_overlay + color: purple + width: [[5,1.5px],[6,2px],[11,3px],[18,4px]] + outline: + color: [1.,1.,1.,.8] + width: [[7,0px],[8,0.25px],[9,0.5px],[12,1.0px],[13,1.75px],[14,2px]] + #width: [[12,1.0px],[13,1.75px],[14,2px]] + train-sizing-color: + filter: { kind: train } + draw: + lines: + color: purple + width: [[5,1.0px],[6,1.0px],[7,1.25px],[11,2.0px],[13,2.5px],[18,3.5px]] + outline: + width: [[12,1.0px],[13,1.75px],[14,2px]] + stack-below-other-transit-later-zooms: + filter: { $zoom: { min: 9 } } + draw: + lines: + order: 511 + subway-sizing: + filter: { kind: subway } + draw: + lines: + width: [[9,1px],[11,2px],[12,3px],[13,4px],[15,5px],[16,7px],[17,9px]] + outline: + #color: [[10,white],[11,black]] + width: [[9,0px],[10,0.5px],[12,1.25px],[13,1.5px],[15,2px]] + #width: [[12,1.5px],[13,2.0px],[14,2.5px]] + light-rail-and-tram-sizing: + filter: { kind: [light_rail, tram] } + draw: + lines: + width: [[10,1px],[12,1.5px],[15,2px],[18,3.5px]] + outline: + #color: [[11,white],[12,black]] + width: [[12,0.25px],[13,0.5px],[14,1px],[16,2px]] + has-data-color: + filter: { colour: true } + draw: + lines: + order: 510 + width: [[9,2px],[11,3px],[12,4px]] + color: function() { return feature.colour || 'purple'; } + #outline: + #color: function() { if(feature.colour == 'silver') { return 'black'; } else { return [0.,0.,0.,.1]; } } + #width: [[12,1.0px],[13,1.75px],[14,2px]] + train-with-color: + filter: { kind: train } + draw: + lines: + order: 514 + subway-with-color: + filter: { kind: subway } + draw: + lines: + order: 513 + light-rail-and-tram-with-color: + filter: { kind: [light_rail, tram] } + draw: + lines: + order: 512 + missing-colour: + filter: { colour: false } + train-missing-color: + filter: { kind: train, colour: false } + draw: + lines: + #width: [[5,1.25px],[6,1.75px],[11,2.0px],[13,2.5px],[18,2.5m]] + order: 506 + subway-missing-color: + filter: { kind: subway, colour: false } + draw: + lines: + order: 505 + #outline: +# width: [[12,1.5px],[13,2.0px],[14,2.5px]] + light-rail-and-tram-missing-color: + filter: { kind: [light_rail, tram], colour: false } + draw: + lines: + order: 504 + labels-transit-lines-early: + filter: { $zoom: [13,14], ref: true } + draw: + text: + visible: global.sdk_transit_overlay + priority: 20 + text_source: function() { if( feature.ref.length < 4 ) { return feature.ref; } else { return ''; } } + font: + fill: black + size: 12px + weight: bold + stroke: { color: white, width: 2 } + labels-transit-lines: + filter: { $zoom: { min: 15 } } + draw: + text: + visible: global.sdk_transit_overlay + priority: 20 + text_source: ref + font: + fill: black + size: 14px + weight: bold + stroke: { color: white, width: 2 } + z19-show-long-route-name: + filter: { $zoom: { min: 19 } } + draw: + text: + text_source: function() { return feature.route_name || feature.ref; } + font: + stroke: { color: white, width: 3px } + +# transit-bus-roads: +# data: { source: mapzen, layer: roads } +# filter: { is_bus_route: true } +# draw: +# lines: +# visible: global.sdk_transit_overlay +# interactive: false +# color: [[13,[0,0,1,0.5]],[15,blue]] +# width: [[11,0.5px],[12,0.8px],[16,1.25px],[18,1m]] +# # let roads sort themselves past zoom 14 +# order: 488 +# # but give them all the same outline +# outline: +# order: 487 + + transit-overlay-station-labels: + data: { source: mapzen, layer: [pois] } + filter: + kind: [station, tram_stop, bus_station, subway_entrance, halt, stop, platform, bus_stop, stop_position ] + any: + - area: false + all: + - area: true + all: + - $geometry: point + - kind: true + draw: + icons: + visible: global.sdk_transit_overlay + size: [[13, 12px], [16, 16px], [19, 20px]] + interactive: global.interactive + priority: 15 + text: + buffer: 4px + move_into_tile: false # preserves text alignment w/icons in JS + #anchor: bottom + #offset: [[13, [0, 6px]], [16, [0, 8px]], [19, [0, 10px]]] # offset tracks alongside icon size (half icon height) + interactive: global.interactive + priority: 16 + font: + fill: black + weight: normal + size: 11px + stroke: { color: white, width: 3 } + poi_labels-z14: + filter: { $zoom: [14] } + draw: { icons: { text: { font: { size: 11px } } } } + poi_labels-z15: + filter: { $zoom: [15,16,17] } + draw: { icons: { text: { font: { size: 12px, stroke: { width: 2 } } } } } + poi_labels-z18: + filter: { $zoom: [18,19] } + draw: { icons: { text: { font: { size: 12px, weight: 600, stroke: { width: 3 } } } } } + poi_labels-z20-up: + filter: { $zoom: { min: 20 } } + draw: { icons: { text: { font: { size: 14px, weight: 600, stroke: { width: 3 } } } } } + station-train-subway: + filter: { kind: [station, train-station, train_station] } #, $zoom: { min: 13 } + draw: + icons: + sprite: train_station + size: [[13, 12px], [14, 14px], [15, 16px], [17, 20px]] + priority: 11 + text: + #offset: [[13, [0, 6px]], [14, [0, 7px]],[15, [0, 8px]], [17, [0, 10px]]] + priority: 12 + low-priority-early: + filter: { kind_tile_rank: { min: 3 }, $zoom: { min: 0, max: 12 } } + draw: + icons: + size: [[12, 5px], [14, 6px], [15, 16px]] + text: + visible: false + long-tail: + filter: { kind_tile_rank: { min: 10 }, $zoom: [10] } + draw: + icons: + visible: false + low-priority-early-z12: + filter: { kind_tile_rank: { min: 8 }, $zoom: [12] } + draw: + icons: +# visible: false + size: [[12, 5px], [14, 6px], [15, 16px]] + text: + visible: false + low-priority-early-z13: + filter: { kind_tile_rank: { min: 8 }, $zoom: [13] } + draw: + icons: + #visible: false + size: [[12, 8px], [14, 6px], [15, 16px]] + text: + visible: false + low-priority-early-z14: + filter: { kind_tile_rank: { min: 7 }, $zoom: [14] } + draw: + icons: + size: [[12, 10px], [14, 11px], [15, 16px]] + #visible: false + text: + visible: false + late: + filter: { $zoom: { min: 16 } } + draw: + icons: + text: + font: + weight: 600 + size: 12px + subway-early: + filter: { is_subway: true, is_train: false, $zoom: { max: 12 } } + draw: + icons: + visible: false + text: + visible: false + halt-early: + filter: { kind: [halt,stop], $zoom: { max: 15 } } + draw: + icons: + size: [[15, 8px], [16, 18px]] + visible: global.sdk_transit_overlay + sprite: light_rail + text: + visible: false + platform-early: + filter: { kind: [platform] } + draw: + icons: + size: [[15, 8px], [16, 18px]] + visible: global.sdk_transit_overlay + sprite: generic + text: + visible: false + tram-stop-early: + filter: { kind: [tram_stop], $zoom: { max: 16 } } + draw: + icons: + size: [[13, 0px], [14, 7px], [15, 8px]] + visible: global.sdk_transit_overlay + sprite: light_rail + text: + visible: false + tram-stop: + filter: { kind: tram_stop, $zoom: { min: 16 } } + draw: + icons: + size: [[16, 12px], [17, 14px], [18, 18px]] + sprite: light_rail + #text: + #offset: [[13, [0, 6px]], [16, [0, 9px]]] + bus-like-labels: + filter: + kind: [platform, stop_position] + draw: + icons: + size: [[13, 8px], [16, 10px], [17, 12px], [18, 18px]] + sprite: bus_station + text: + interactive: global.interactive + font: + fill: black + size: 12px + stroke: { color: white, width: 4 } + bus-station-labels: + filter: + kind: [bus_station, bus_stop] + $zoom: { min: 16 } + draw: + icons: + size: [[13, 12px], [16, 18px]] + sprite: bus_station + priority: 17 + text: + interactive: global.interactive + priority: 18 + font: + fill: black + size: 12px + stroke: { color: white, width: 4 } + bus_stop: + filter: + kind: [bus_stop] + $zoom: { max: 19 } + draw: + icons: + size: [[13, 8px], [19, 18px]] + text: + visible: false + subway-entrance: + filter: + kind: [subway_entrance] + draw: + icons: + sprite: subway_entrance + size: [[17, 12px], [19, 14px]] + priority: 19 + text: + #offset: [[17, [0, 6px]], [19, [0, 7px]]] # offset tracks alongside icon size (half icon height) + priority: 20 + interactive: global.interactive + text_source: function() { if( feature.ref || feature.name ) { if( feature.ref && feature.name ) { return '[' + feature.ref + ']\n' + feature.name; } else { return feature.name; } } else { return "Entrance"; } } + font: + fill: black + size: 12px + stroke: { color: white, width: 4 } + +# transit-platforms: +# data: { source: mapzen, layer: transit } +# filter: { kind: platform, $zoom: { min: 15 }, $geometry: [polygon,line] } +# draw: +# lines: +# visible: global.sdk_transit_overlay +# color: '#bc8f96' +# width: 10m # something fishy here with the #include syntax in v0.7 tangram? +# order: 1000 # this selection should sort above basemap, but grey Zinc color still applies +# outline: +# order: 1002 +# polygons: +# visible: global.sdk_transit_overlay +# order: 1001 +# polygon_geom: +# filter: { $geometry: polygon } +# draw: +# polygons: +# color: '#bc8f96' +# outline: +# color: '#bc8f96' +# width: [[15,0px],[16,0.5px],[17,1px],[19,2px]] +# lines: +# visible: false \ No newline at end of file