basemap/layers/point/icon.js (1,908 lines of code) (raw):

/** Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. **/ import {asLayerObject, withSortKeys} from '../../utils/utils.js'; import theme from '../../theme.js'; /** * These directives are based on the following source: * https://wiki.openstreetmap.org/wiki/OpenStreetMap_Carto/Symbols */ let directives = [ // Gastronomy { 'filter': [ 'all', ['==', ['get', 'amenity'], 'restaurant'], ['==', ['get', 'amenity'], 'food_court'] ], 'icon-image': 'restaurant', 'icon-color': theme.gastronomyIconColor, 'text-color': theme.gastronomyIconColor }, { 'filter': ['==', ['get', 'amenity'], 'cafe'], 'icon-image': 'cafe', 'icon-color': theme.gastronomyIconColor, 'text-color': theme.gastronomyIconColor }, { 'filter': ['==', ['get', 'amenity'], 'fast_food'], 'icon-image': 'fast_food', 'icon-color': theme.gastronomyIconColor, 'text-color': theme.gastronomyIconColor }, { 'filter': ['==', ['get', 'amenity'], 'bar'], 'icon-image': 'bar', 'icon-color': theme.gastronomyIconColor, 'text-color': theme.gastronomyIconColor }, { 'filter': ['==', ['get', 'amenity'], 'pub'], 'icon-image': 'pub', 'icon-color': theme.gastronomyIconColor, 'text-color': theme.gastronomyIconColor }, { 'filter': ['==', ['get', 'amenity'], 'ice_cream'], 'icon-image': 'ice_cream', 'icon-color': theme.gastronomyIconColor, 'text-color': theme.gastronomyIconColor }, { 'filter': ['==', ['get', 'amenity'], 'biergarten'], 'icon-image': 'biergarten', 'icon-color': theme.gastronomyIconColor, 'text-color': theme.gastronomyIconColor }, { 'filter': ['==', ['get', 'leisure'], 'outdoor_seating'], 'icon-image': 'outdoor_seating', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, // Culture, entertainment, and arts { 'filter': ['==', ['get', 'tourism'], 'artwork'], 'icon-image': 'artwork', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'community_centre'], 'icon-image': 'community_centre', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'library'], 'icon-image': 'library', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'tourism'], 'museum'], 'icon-image': 'museum', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'theatre'], 'icon-image': 'theatre', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'cinema'], 'icon-image': 'cinema', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'nightclub'], 'icon-image': 'nightclub', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'arts_centre'], 'icon-image': 'arts_centre', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'tourism'], 'gallery'], 'icon-image': 'art', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'internet_cafe'], 'icon-image': 'internet_cafe', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'casino'], 'icon-image': 'casino', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'public_bookcase'], 'icon-image': 'public_bookcase', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'leisure'], 'amusement_arcade'], 'icon-image': 'amusement_arcade', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, // Historical objects { 'filter': ['==', ['get', 'historic'], 'memorial'], 'icon-image': 'memorial', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': ['==', ['get', 'historic'], 'archaeological_site'], 'icon-image': 'archaeological_site', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': ['==', ['get', 'historic'], 'wayside_shrine'], 'icon-image': 'wayside_shrine', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': ['==', ['get', 'historic'], 'monument'], 'icon-image': 'monument', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': ['==', ['get', 'historic'], 'castle'], 'icon-image': 'castle', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': [ 'any', [ 'all', ['==', ['get', 'historic'], 'memorial'], ['==', ['get', 'memorial'], 'plaque'] ], [ 'all', ['==', ['get', 'historic'], 'memorial'], ['==', ['get', 'memorial'], 'blue_plaque'] ] ], 'icon-image': 'plaque', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': [ 'any', [ 'all', ['==', ['get', 'historic'], 'memorial'], ['==', ['get', 'memorial'], 'statue'] ], [ 'all', ['==', ['get', 'tourism'], 'artwork'], ['==', ['get', 'artwork_type'], 'statue'] ] ], 'icon-image': 'statue', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': [ 'any', ['==', ['get', 'historic'], 'memorial'], ['==', ['get', 'memorial'], 'stone'] ], 'icon-image': 'stone', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': [ 'any', [ 'all', ['==', ['get', 'historic'], 'castle'], ['==', ['get', 'castle_type'], 'palace'] ], [ 'all', ['==', ['get', 'historic'], 'castle'], ['==', ['get', 'castle_type'], 'stately'] ] ], 'icon-image': 'palace', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, // { // 'filter': ['==', ['get', 'historic'], 'castle'], =>defensive / =>fortress / =>castrum / =>shiro / =>kremlin // 'icon-image': 'fortress', // 'icon-color': theme.historyIconColor, // 'text-color': theme.historyIconColor // }, { 'filter': ['==', ['get', 'historic'], 'fort'], 'icon-image': 'historic_fort', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': [ 'any', [ 'all', ['==', ['get', 'historic'], 'memorial'], ['==', ['get', 'memorial'], 'bust'] ], [ 'all', ['==', ['get', 'tourism'], 'artwork'], ['==', ['get', 'artwork_type'], 'bust'] ] ], 'icon-image': 'bust', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': ['==', ['get', 'historic'], 'city_gate'], 'icon-image': 'city_gate', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': [ 'any', ['==', ['get', 'historic'], 'manor'], [ 'all', ['==', ['get', 'historic'], 'castle'], ['==', ['get', 'castle_type'], 'manor'] ] ], 'icon-image': 'manor', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, { 'filter': ['==', ['get', 'man_made'], 'obelisk'], 'icon-image': 'obelisk', 'icon-color': theme.historyIconColor, 'text-color': theme.historyIconColor }, // Leisure, recreation, and sport { 'filter': ['==', ['get', 'leisure'], 'playground'], 'icon-image': 'playground', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': [ 'any', ['==', ['get', 'leisure'], 'fitness_centre'], ['==', ['get', 'leisure'], 'fitness_station'] ], 'icon-image': 'fitness', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'leisure'], 'golf_course'], 'icon-image': 'golf', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': [ 'any', ['==', ['get', 'leisure'], 'water_park'], ['==', ['get', 'leisure'], 'swimming_area'], [ 'all', ['==', ['get', 'leisure'], 'sports_centre'], ['==', ['get', 'sport'], 'swimming'] ] ], 'icon-image': 'water_park', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'shop'], 'massage'], 'icon-image': 'massage', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'leisure'], 'sauna'], 'icon-image': 'sauna', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'amenity'], 'public_bath'], 'icon-image': 'public_bath', 'icon-color': theme.pointIconPublicBathIconColor, 'text-color': theme.pointIconPublicBathTextColor }, { 'filter': ['==', ['get', 'leisure'], 'miniature_golf'], 'icon-image': 'miniature_golf', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'leisure'], 'beach_resort'], 'icon-image': 'beach_resort', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'leisure'], 'fishing'], 'icon-image': 'fishing', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'leisure'], 'bowling_alley'], 'icon-image': 'bowling_alley', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'leisure'], 'dog_park'], 'icon-image': 'dog_park', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, { 'filter': ['==', ['get', 'golf'], 'pin'], 'icon-image': 'leisure_golf_pin', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, // Waste management { 'filter': ['==', ['get', 'amenity'], 'toilets'], 'icon-image': 'toilets', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'recycling'], 'icon-image': 'recycling', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'waste_basket'], 'icon-image': 'waste_basket', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'waste_disposal'], 'icon-image': 'waste_disposal', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'vending_machine'], ['==', ['get', 'vending'], 'excrement_bags'] ], 'icon-image': 'excrement_bags', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, // Outdoor { 'filter': ['==', ['get', 'amenity'], 'bench'], 'icon-image': 'bench', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'amenity'], 'shelter'], 'icon-image': 'shelter', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'amenity'], 'drinking_water'], 'icon-image': 'drinking_water', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'tourism'], 'picnic_site'], 'icon-image': 'picnic', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor }, { 'filter': ['==', ['get', 'amenity'], 'fountain'], 'icon-image': 'fountain', 'icon-color': theme.waterIconColor, 'text-color': theme.waterIconColor }, { 'filter': ['==', ['get', 'tourism'], 'camp_site'], 'icon-image': 'camping', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'leisure'], 'picnic_table'], 'icon-image': 'picnic', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor, }, { 'filter': ['==', ['get', 'tourism'], 'caravan_site'], 'icon-image': 'caravan_park', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'bbq'], 'icon-image': 'bbq', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'shower'], 'icon-image': 'shower', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'leisure'], 'firepit'], 'icon-image': 'firepit', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor, }, { 'filter': ['==', ['get', 'leisure'], 'bird_hide'], 'icon-image': 'bird_hide', 'icon-color': theme.leisureIconColor, 'text-color': theme.leisureIconColor, }, // Tourism and accommodation { 'filter': [ 'all', ['==', ['get', 'tourism'], 'information'], ['==', ['get', 'information'], 'guidepost'] ], 'icon-image': 'guidepost', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'all', ['==', ['get', 'tourism'], 'information'], ['==', ['get', 'information'], 'board'] ], 'icon-image': 'board', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'any', [ 'all', ['==', ['get', 'tourism'], 'information'], ['==', ['get', 'information'], 'map'] ], [ 'all', ['==', ['get', 'tourism'], 'information'], ['==', ['get', 'information'], 'tactile_map'] ] ], 'icon-image': 'map', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'any', ['==', ['get', 'tourism'], 'information'], ['==', ['get', 'information'], 'office'] ], 'icon-image': 'office', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': [ 'any', ['==', ['get', 'tourism'], 'information'], ['==', ['get', 'information'], 'terminal'] ], 'icon-image': 'terminal', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'any', ['==', ['get', 'tourism'], 'information'], ['==', ['get', 'information'], 'audioguide'] ], 'icon-image': 'audioguide', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'tourism'], 'viewpoint'], 'icon-image': 'viewpoint', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'tourism'], 'hotel'], 'icon-image': 'hotel', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'tourism'], 'guest_house'], 'icon-image': 'guest_house', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'tourism'], 'hostel'], 'icon-image': 'hostel', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'tourism'], 'chalet'], 'icon-image': 'chalet', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'tourism'], 'motel'], 'icon-image': 'motel', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'tourism'], 'apartment'], 'icon-image': 'apartment', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'tourism'], 'alpine_hut'], 'icon-image': 'alpinehut', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'tourism'], 'wilderness_hut'], 'icon-image': 'wilderness_hut', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, // Finance { 'filter': ['==', ['get', 'amenity'], 'bank'], 'icon-image': 'bank', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'atm'], 'icon-image': 'atm', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'bureau_de_change'], 'icon-image': 'bureau_de_change', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, // Healthcare { 'filter': ['==', ['get', 'amenity'], 'pharmacy'], 'icon-image': 'pharmacy', 'icon-color': theme.healthIconColor, 'text-color': theme.healthIconColor }, { 'filter': ['==', ['get', 'amenity'], 'hospital'], 'icon-image': 'hospital', 'icon-color': theme.healthIconColor, 'text-color': theme.healthIconColor }, { 'filter': [ 'any', ['==', ['get', 'amenity'], 'clinic'], ['==', ['get', 'amenity'], 'doctors'] ], 'icon-image': 'doctors', 'icon-color': theme.healthIconColor, 'text-color': theme.healthIconColor }, { 'filter': ['==', ['get', 'amenity'], 'dentist'], 'icon-image': 'dentist', 'icon-color': theme.healthIconColor, 'text-color': theme.healthIconColor }, { 'filter': ['==', ['get', 'amenity'], 'veterinary'], 'icon-image': 'veterinary', 'icon-color': theme.healthIconColor, 'text-color': theme.healthIconColor }, // Communication { 'filter': ['==', ['get', 'amenity'], 'post_box'], 'icon-image': 'post_box', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'post_office'], 'icon-image': 'post_office', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, // { // 'filter': ['==', ['get', 'amenity'], 'parcel_locker'], // 'icon-image': 'parcel_locker', // 'icon-color': theme.amenityIconColor, // 'text-color': theme.amenityIconColor // }, { 'filter': ['==', ['get', 'amenity'], 'telephone'], 'icon-image': 'telephone', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'emergency'], 'phone'], 'icon-image': 'emergency_phone', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, // Transportation { 'filter': ['==', ['get', 'amenity'], 'parking'], 'icon-image': 'parking', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': [ 'any', ['all', ['==', ['get', 'amenity'], 'parking'], ['==', ['get', 'parking'], 'lane'], ], ['all', ['==', ['get', 'amenity'], 'parking'], ['==', ['get', 'parking'], 'street_side'] ] ], 'icon-image': 'parking_subtle', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'highway'], 'bus_stop'], 'icon-image': 'bus_stop', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'fuel'], 'icon-image': 'fuel', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'bicycle_parking'], 'icon-image': 'bicycle_parking', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': [ 'any', ['==', ['get', 'railway'], 'station'], ['==', ['get', 'railway'], 'halt'], ['==', ['get', 'railway'], 'tram_stop'] ], 'icon-image': 'place-6', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'bus_station'], 'icon-image': 'bus_station', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'aeroway'], 'helipad'], 'icon-image': 'helipad', 'icon-color': theme.transportDefaultIconColor, 'text-color': theme.transportDefaultIconColor }, { 'filter': ['==', ['get', 'aeroway'], 'aerodrome'], 'icon-image': 'aerodrome', 'icon-color': theme.transportDefaultIconColor, 'text-color': theme.transportDefaultIconColor }, { 'filter': ['==', ['get', 'amenity'], 'bicycle_rental'], 'icon-image': 'rental_bicycle', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'leisure'], 'slipway'], 'icon-image': 'slipway', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'taxi'], 'icon-image': 'taxi', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'vending_machine'], ['==', ['get', 'vending'], 'parking_tickets'] ], 'icon-image': 'parking_tickets', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'railway'], 'subway_entrance'], 'icon-image': 'entrance', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'charging_station'], 'icon-image': 'charging_station', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'highway'], 'elevator'], 'icon-image': 'elevator', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'car_rental'], 'icon-image': 'rental_car', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'parking_entrance'], ['==', ['get', 'parking'], 'underground'] ], 'icon-image': 'parking_entrance_underground', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'vending_machine'], ['==', ['get', 'vending'], 'public_transport_tickets'] ], 'icon-image': 'public_transport_tickets', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'ferry_terminal'], 'icon-image': 'ferry', 'icon-color': theme.transportDefaultIconColor, 'text-color': theme.transportDefaultIconColor }, { 'filter': ['==', ['get', 'amenity'], 'motorcycle_parking'], 'icon-image': 'motorcycle_parking', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': ['==', ['get', 'amenity'], 'bicycle_repair_station'], 'icon-image': 'bicycle_repair_station', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'boat_rental'], 'icon-image': 'boat_rental', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'parking_entrance'], ['==', ['get', 'parking'], 'multi-storey'] ], 'icon-image': 'parking_entrance_multistorey', 'icon-color': theme.transportationIconColor, 'text-color': theme.transportationIconColor }, // Road features // { // 'filter': ['==', ['get', 'oneway'], 'yes'], // 'icon-image': 'oneway', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor // }, { 'filter': ['==', ['get', 'barrier'], 'gate'], 'icon-image': 'gate', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'highway'], 'traffic_signals'], 'icon-image': 'traffic_light', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, // { // 'filter': [ // 'any', // ['==', ['get', 'railway'], 'level_crossing'], // ['==', ['get', 'railway'], 'crossing'] // ], // 'icon-image': 'level_crossing2', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor // }, { 'filter': [ 'any', ['==', ['get', 'railway'], 'level_crossing'], ['==', ['get', 'railway'], 'crossing'] ], 'icon-image': 'level_crossing', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'any', ['==', ['get', 'barrier'], 'bollard'], ['==', ['get', 'barrier'], 'block'], ['==', ['get', 'barrier'], 'turnstile'], ['==', ['get', 'barrier'], 'log'] ], 'icon-image': 'gate', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'any', ['==', ['get', 'barrier'], 'lift_gate'], ['==', ['get', 'barrier'], 'swing_gate'] ], 'icon-image': 'lift_gate', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'barrier'], 'cycle_barrier'], 'icon-image': 'cycle_barrier', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'barrier'], 'stile'], 'icon-image': 'stile', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, // { // 'filter': ['==', ['get', 'highway'], 'mini_roundabout'], // 'icon-image': 'highway_mini_roundabout', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor // }, { 'filter': ['==', ['get', 'barrier'], 'toll_booth'], 'icon-image': 'toll_booth', 'icon-color': theme.accommodationIconColor, 'text-color': theme.accommodationIconColor }, { 'filter': ['==', ['get', 'barrier'], 'cattle_grid'], 'icon-image': 'barrier_cattle_grid', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'barrier'], 'kissing_gate'], 'icon-image': 'kissing_gate', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'barrier'], 'full-height_turnstile'], 'icon-image': 'full-height_turnstile', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'barrier'], 'motorcycle_barrier'], 'icon-image': 'motorcycle_barrier', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'any', ['==', ['get', 'ford'], 'yes'], ['==', ['get', 'ford'], 'stepping_stones'] ], 'icon-image': 'ford', 'icon-color': theme.waterIconColor, 'text-color': theme.waterwayTextColor }, // { // 'filter': ['==', ['get', 'mountain_pass'], 'yes'], // 'icon-image': 'mountain_pass', // 'icon-color': theme.transportationIconColor, // 'text-color': theme.transportationIconColor // }, { 'filter': ['==', ['get', 'waterway'], 'dam'], 'icon-image': 'place-6', 'icon-color': theme.waterIconColor, 'text-color': theme.waterTextColor }, { 'filter': ['==', ['get', 'waterway'], 'weir'], 'icon-image': 'place-6', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'waterway'], 'lock_gate'], 'icon-image': 'place-6', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, // { // 'filter': ['==', ['get', 'Node with highway'], 'turning_circle at way with highway'], // 'icon-image': 'turning_circle_on_highway_track', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor // }, // Nature { 'filter': ['==', ['get', 'natural'], 'peak'], 'icon-image': 'peak', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'natural'], 'spring'], 'icon-image': 'spring', 'icon-color': theme.waterIconColor, 'text-color': theme.waterIconColor }, { 'filter': ['==', ['get', 'natural'], 'cave_entrance'], 'icon-image': 'cave', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'waterway'], 'waterfall'], 'icon-image': 'waterfall', 'icon-color': theme.waterIconColor, 'text-color': theme.waterIconColor }, { 'filter': ['==', ['get', 'natural'], 'saddle'], 'icon-image': 'saddle', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': ['==', ['get', 'natural'], 'volcano'], 'icon-image': 'peak', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, // Administrative facilities { 'filter': ['==', ['get', 'amenity'], 'police'], 'icon-image': 'police', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'townhall'], 'icon-image': 'town_hall', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'fire_station'], 'icon-image': 'firestation', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'social_facility'], 'icon-image': 'social_facility', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': ['==', ['get', 'amenity'], 'courthouse'], 'icon-image': 'courthouse', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, { 'filter': [ 'all', ['==', ['get', 'office'], 'diplomatic'], ['==', ['get', 'diplomatic'], 'embassy'] ], 'icon-image': 'diplomatic', 'icon-color': theme.officeIconColor, 'text-color': theme.officeIconColor }, { 'filter': [ 'all', ['==', ['get', 'office'], 'diplomatic'], ['==', ['get', 'diplomatic'], 'consulate'] ], 'icon-image': 'consulate', 'icon-color': theme.officeIconColor, 'text-color': theme.officeIconColor }, { 'filter': ['==', ['get', 'amenity'], 'prison'], 'icon-image': 'prison', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor }, // Religious place { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'christian'] ], 'icon-image': 'christian', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'jewish'] ], 'icon-image': 'jewish', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'muslim'] ], 'icon-image': 'muslim', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'taoist'] ], 'icon-image': 'taoist', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'hindu'] ], 'icon-image': 'hinduist', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'buddhist'] ], 'icon-image': 'buddhist', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'shinto'] ], 'icon-image': 'shintoist', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, { 'filter': [ 'all', ['==', ['get', 'amenity'], 'place_of_worship'], ['==', ['get', 'religion'], 'sikh'] ], 'icon-image': 'sikhist', 'icon-color': theme.religionIconColor, 'text-color': theme.religionIconColor }, // { // 'filter': [ // 'all', // ['==', ['get', 'amenity'], 'place_of_worship'], // ['==', ['get', 'without or other religion'], '* value'] // ], // 'icon-image': 'place_of_worship', // 'icon-color': theme.religionIconColor, // 'text-color': theme.religionIconColor // }, // Shop and services { 'filter': ['==', ['get', 'amenity'], 'marketplace'], 'icon-image': 'marketplace', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor }, { 'filter': ['==', ['get', 'shop'], 'convenience'], 'icon-image': 'convenience', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'supermarket'], 'icon-image': 'supermarket', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'clothes'], ['==', ['get', 'shop'], 'fashion'] ], 'icon-image': 'clothes', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'hairdresser'], 'icon-image': 'hairdresser', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'bakery'], 'icon-image': 'bakery', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'car_repair'], 'icon-image': 'car_repair', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['any', ['==', ['get', 'shop'], 'doityourself'], ['==', ['get', 'shop'], 'hardware'] ], 'icon-image': 'diy', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'car'], 'icon-image': 'car', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['any', ['==', ['get', 'shop'], 'kiosk'], ['==', ['get', 'shop'], 'newsagent'] ], 'icon-image': 'newsagent', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'beauty'], 'icon-image': 'beauty', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'amenity'], 'car_wash'], 'icon-image': 'car_wash', 'icon-color': theme.amenityIconColor, 'text-color': theme.amenityIconColor, }, { 'filter': ['==', ['get', 'shop'], 'butcher'], 'icon-image': 'butcher', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['any', ['==', ['get', 'shop'], 'alcohol'], ['==', ['get', 'shop'], 'wine'] ], 'icon-image': 'alcohol', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'furniture'], 'icon-image': 'furniture', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'florist'], 'icon-image': 'florist', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'mobile_phone'], 'icon-image': 'mobile_phone', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'electronics'], 'icon-image': 'electronics', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'shoes'], 'icon-image': 'shoes', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'car_parts'], 'icon-image': 'car_parts', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'greengrocer'], ['==', ['get', 'shop'], 'farm'] ], 'icon-image': 'greengrocer', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'laundry'], ['==', ['get', 'shop'], 'dry_cleaning'] ], 'icon-image': 'laundry', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'optician'], 'icon-image': 'optician', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'jewelry'], ['==', ['get', 'shop'], 'jewellery'] ], 'icon-image': 'jewelry', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'books'], 'icon-image': 'library', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'gift'], 'icon-image': 'gift', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'department_store'], 'icon-image': 'department_store', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'bicycle'], 'icon-image': 'bicycle', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'confectionery'], ['==', ['get', 'shop'], 'chocolate'], ['==', ['get', 'shop'], 'pastry'] ], 'icon-image': 'confectionery', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'variety_store'], 'icon-image': 'variety_store', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'travel_agency'], 'icon-image': 'travel_agency', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'sports'], 'icon-image': 'sports', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'chemist'], 'icon-image': 'chemist', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'computer'], 'icon-image': 'computer', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'stationery'], 'icon-image': 'stationery', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'pet'], 'icon-image': 'pet', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'beverages'], 'icon-image': 'beverages', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'cosmetics'], ['==', ['get', 'shop'], 'perfumery'] ], 'icon-image': 'perfumery', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'tyres'], 'icon-image': 'tyres', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'motorcycle'], 'icon-image': 'motorcycle', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'garden_centre'], 'icon-image': 'garden_centre', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'copyshop'], 'icon-image': 'copyshop', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'toys'], 'icon-image': 'toys', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'deli'], 'icon-image': 'deli', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'tobacco'], 'icon-image': 'tobacco', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'seafood'], 'icon-image': 'seafood', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'interior_decoration'], 'icon-image': 'interior_decoration', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'ticket'], 'icon-image': 'ticket', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'photo'], ['==', ['get', 'shop'], 'photo_studio'], ['==', ['get', 'shop'], 'photography'] ], 'icon-image': 'photo', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': [ 'any', ['==', ['get', 'shop'], 'trade'], ['==', ['get', 'shop'], 'wholesale'] ], 'icon-image': 'trade', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'outdoor'], 'icon-image': 'outdoor', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'houseware'], 'icon-image': 'houseware', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'art'], 'icon-image': 'art', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'paint'], 'icon-image': 'paint', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'fabric'], 'icon-image': 'fabric', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'bookmaker'], 'icon-image': 'bookmaker', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'second_hand'], 'icon-image': 'second_hand', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'charity'], 'icon-image': 'charity', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'bed'], 'icon-image': 'bed', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'medical_supply'], 'icon-image': 'medical_supply', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'hifi'], 'icon-image': 'hifi', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'music'], 'icon-image': 'music', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'coffee'], 'icon-image': 'coffee', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'musical_instrument'], 'icon-image': 'musical_instrument', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'tea'], 'icon-image': 'tea', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'video'], 'icon-image': 'video', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'bag'], 'icon-image': 'bag', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'carpet'], 'icon-image': 'carpet', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'video_games'], 'icon-image': 'video_games', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'amenity'], 'vehicle_inspection'], 'icon-image': 'vehicle_inspection', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, { 'filter': ['==', ['get', 'shop'], 'dairy'], 'icon-image': 'dairy', 'icon-color': theme.shopIconColor, 'text-color': theme.shopIconColor, }, // { // 'filter': ['!=', ['get', 'shop'], 'yes'], // 'icon-image': 'place-4', // 'icon-color': theme.shopIconColor, // 'text-color': theme.shopIconColor, // }, { 'filter': ['==', ['get', 'office'], '*'], 'icon-image': 'office', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, { 'filter': [ 'any', ['==', ['get', 'amenity'], 'nursing_home'], ['==', ['get', 'amenity'], 'childcare'] ], 'icon-image': 'place-6', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor }, // Landmarks, man-made infrastructure, masts and towers { 'filter': ['any', ['==', ['get', 'man_made'], 'storage_tank'], ['==', ['get', 'man_made'], 'silo']], 'icon-image': 'storage_tank', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'tower'], 'icon-image': 'tower_generic', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'communication']], 'icon-image': 'tower_cantilever_communication', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'power'], 'generator'], ['any', ['==', ['get', 'generator:source'], 'wind'], ['==', ['get', 'generator:method'], 'wind_turbine)'] ] ], 'icon-image': 'generator_wind', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'amenity'], 'hunting_stand'], 'icon-image': 'hunting_stand', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['any', ['==', ['get', 'historic'], 'wayside_cross'], ['==', ['get', 'man_made'], 'cross']], 'icon-image': 'christian', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'water_tower'], 'icon-image': 'water_tower', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'mast'], 'icon-image': 'mast', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { filter: ['==', ['get', 'military'], 'bunker'], 'icon-image': 'bunker', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'chimney'], 'icon-image': 'chimney', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'any', [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'observation'] ], [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'watchtower'] ] ], 'icon-image': 'tower_observation', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'bell_tower'] ], 'icon-image': 'tower_bell_tower', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'lighting'] ], 'icon-image': 'tower_lighting', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'lighthouse'], 'icon-image': 'lighthouse', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'advertising'], 'column'], 'icon-image': 'column', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'crane'], 'icon-image': 'crane', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'windmill'], 'icon-image': 'windmill', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'communication'], ['==', ['get', 'tower:construction'], 'lattice'] ], 'icon-image': 'tower_lattice_communication', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'mast'], ['==', ['get', 'tower:type'], 'lighting'] ], 'icon-image': 'mast_lighting', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'mast'], ['==', ['get', 'tower:type'], 'communication'] ], 'icon-image': 'mast_communications', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': ['==', ['get', 'man_made'], 'communications_tower'], 'icon-image': 'communication_tower', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'defensive'] ], 'icon-image': 'tower_defensive', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'cooling'] ], 'icon-image': 'tower_cooling', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:construction'], 'lattice'] ], 'icon-image': 'tower_lattice', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:type'], 'lighting'], ['==', ['get', 'tower:construction'], 'lattice'] ], 'icon-image': 'tower_lattice_lighting', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:construction'], 'dish'] ], 'icon-image': 'tower_dish', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'tower'], ['==', ['get', 'tower:construction'], 'dome'] ], 'icon-image': 'tower_dome', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'telescope'], ['==', ['get', 'telescope:type'], 'radio'] ], 'icon-image': 'telescope_dish', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, { 'filter': [ 'all', ['==', ['get', 'man_made'], 'telescope'], ['==', ['get', 'telescope:type'], 'optical'] ], 'icon-image': 'telescope_dome', 'icon-color': theme.manMadeIconColor, 'text-color': theme.manMadeIconColor, }, // Electricity // { // 'filter': ['==', ['get', 'power'], 'tower'], // 'icon-image': 'power_tower', // 'icon-color': theme.powerIconColor, // 'text-color': theme.powerIconColor, // }, // { // 'filter': ['==', ['get', 'power'], 'pole'], // 'icon-image': 'place-6', // 'icon-color': theme.powerIconColor, // 'text-color': theme.powerIconColor, // }, // Places { 'filter': ['==', ['get', 'place'], 'city'], 'icon-image': 'place-6', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor, }, // { // 'filter': ['has', 'capital'], // 'icon-image': 'place_capital', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor, // }, // { // 'filter': ['==', ['get', 'entrance'], 'yes'], // 'icon-image': 'entrance', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor, // }, // { // 'filter': ['==', ['get', 'entrance'], 'main'], // 'icon-image': 'entrance', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor, // }, // { // 'filter': ['==', ['get', 'entrance'], 'service'], // 'icon-image': 'entrance', // 'icon-color': theme.defaultIconColor, // 'text-color': theme.defaultIconColor, // }, { 'filter': [ 'all', ['has', 'entrance'], ['==', ['get', 'access'], 'no'] ], 'icon-image': 'entrance', 'icon-color': theme.defaultIconColor, 'text-color': theme.defaultIconColor, }, ]; export default asLayerObject(withSortKeys(directives), { id: 'icon', type: 'symbol', source: 'baremaps', 'source-layer': 'point', 'minzoom': 14, layout: { visibility: 'visible', 'icon-size': 1, 'icon-anchor': 'bottom', 'text-font': ['Noto Sans Regular'], 'text-size': 11, 'text-field': ['get', 'name'], 'text-anchor': 'top', 'text-optional': true, 'text-max-width': 5, }, paint: { 'icon-opacity': 1, 'icon-translate-anchor': 'map', 'icon-halo-color': theme.pointIconLayerIconHaloColor, 'icon-halo-width': 1, 'text-halo-width': 1, 'text-halo-color': theme.pointIconLayerTextHaloColor, }, });