diff --git a/basemap/assets/README.md b/basemap/assets/README.md index aa6f4c6c6..47de16618 100644 --- a/basemap/assets/README.md +++ b/basemap/assets/README.md @@ -15,6 +15,7 @@ Both spritezero and spreet can be used to generate the png and json files from t ``` volta install node@10 npm install -g @elastic/spritezero-cli +spritezero --ratio=1 --sdf icons icons spritezero --ratio=1 --sdf icons@1x icons spritezero --ratio=1 --sdf icons@2x icons spritezero --ratio=1 --sdf icons@4x icons diff --git a/basemap/assets/icons.json b/basemap/assets/icons.json new file mode 100644 index 000000000..8e8453eb3 --- /dev/null +++ b/basemap/assets/icons.json @@ -0,0 +1,2050 @@ +{ + "advertising_column": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 37, + "y": 0 + }, + "aerodrome": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 131, + "y": 375 + }, + "alcohol": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 55 + }, + "alpinehut": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 55 + }, + "amusement_arcade": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 55 + }, + "apartment": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 75 + }, + "archaeological_site": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 75 + }, + "art": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 75 + }, + "arts_centre": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 95 + }, + "artwork": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 95 + }, + "atm": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 95 + }, + "audioguide": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 55 + }, + "bag": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 55 + }, + "bakery": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 55 + }, + "bank": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 75 + }, + "bar": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 149, + "y": 375 + }, + "bbq": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 75 + }, + "beach_resort": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 75 + }, + "beauty": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 95 + }, + "bed": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 95 + }, + "bell_tower": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 95 + }, + "bench": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 52, + "y": 29 + }, + "beverages": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 72, + "y": 29 + }, + "bicycle": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 92, + "y": 29 + }, + "bicycle_parking": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 57, + "y": 0 + }, + "bicycle_repair_station": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 77, + "y": 0 + }, + "biergarten": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 97, + "y": 0 + }, + "bird_hide": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 115 + }, + "board": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 115 + }, + "boat_rental": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 115 + }, + "bookmaker": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 115 + }, + "bowling_alley": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 115 + }, + "buddhist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 115 + }, + "bunker": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 135 + }, + "bureau_de_change": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 135 + }, + "bus_station": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 135 + }, + "bus_stop": { + "height": 16, + "pixelRatio": 1, + "sdf": true, + "width": 16, + "x": 107, + "y": 395 + }, + "bust": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 135 + }, + "butcher": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 135 + }, + "cafe": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 135 + }, + "camping": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 155 + }, + "car": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 155 + }, + "car_parts": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 155 + }, + "car_repair": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 155 + }, + "car_wash": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 155 + }, + "caravan_park": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 155 + }, + "carpet": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 175 + }, + "casino": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 175 + }, + "castle": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 175 + }, + "cave": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 175 + }, + "chalet": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 175 + }, + "charging_station": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 175 + }, + "charity": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 195 + }, + "chemist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 195 + }, + "chimney": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 195 + }, + "christian": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 195 + }, + "cinema": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 195 + }, + "city_gate": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 195 + }, + "clothes": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 55 + }, + "coffee": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 55 + }, + "communications_tower": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 55 + }, + "community_centre": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 55 + }, + "computer": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 55 + }, + "confectionery": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 55 + }, + "consulate": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 75 + }, + "convenience": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 75 + }, + "copyshop": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 75 + }, + "courthouse": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 75 + }, + "crane": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 75 + }, + "cross": { + "height": 13, + "pixelRatio": 1, + "sdf": true, + "width": 13, + "x": 227, + "y": 395 + }, + "cycle_barrier": { + "height": 16, + "pixelRatio": 1, + "sdf": true, + "width": 16, + "x": 123, + "y": 395 + }, + "dairy": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 75 + }, + "deli": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 95 + }, + "dentist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 95 + }, + "department_store": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 95 + }, + "diy": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 95 + }, + "doctors": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 95 + }, + "drinking_water": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 95 + }, + "electronics": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 115 + }, + "elevator": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 167, + "y": 375 + }, + "embassy": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 115 + }, + "emergency_phone": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 115 + }, + "entrance": { + "height": 16, + "pixelRatio": 1, + "sdf": true, + "width": 16, + "x": 139, + "y": 395 + }, + "excrement_bags": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 115 + }, + "fabric": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 115 + }, + "fast_food": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 115 + }, + "ferry": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 135 + }, + "firepit": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 135 + }, + "firestation": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 135 + }, + "fishing": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 135 + }, + "fitness": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 135 + }, + "florist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 135 + }, + "ford": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 155 + }, + "fort": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 155 + }, + "fortress": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 155 + }, + "fountain": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 155 + }, + "fuel": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 155 + }, + "full-height_turnstile": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 185, + "y": 375 + }, + "furniture": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 155 + }, + "garden_centre": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 175 + }, + "gate": { + "height": 11, + "pixelRatio": 1, + "sdf": true, + "width": 12, + "x": 75, + "y": 413 + }, + "generator_wind": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 175 + }, + "gift": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 175 + }, + "golf": { + "height": 26, + "pixelRatio": 1, + "sdf": true, + "width": 26, + "x": 0, + "y": 29 + }, + "golf_pin": { + "height": 29, + "pixelRatio": 1, + "sdf": true, + "width": 15, + "x": 0, + "y": 0 + }, + "greengrocer": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 175 + }, + "guest_house": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 175 + }, + "guidepost": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 175 + }, + "hairdresser": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 195 + }, + "helipad": { + "height": 22, + "pixelRatio": 1, + "sdf": true, + "width": 22, + "x": 15, + "y": 0 + }, + "hifi": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 195 + }, + "hinduist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 195 + }, + "hospital": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 195 + }, + "hostel": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 195 + }, + "hotel": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 195 + }, + "houseware": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 112, + "y": 29 + }, + "hunting_stand": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 132, + "y": 29 + }, + "ice_cream": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 152, + "y": 29 + }, + "interior_decoration": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 172, + "y": 29 + }, + "internet_cafe": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 192, + "y": 29 + }, + "jewelry": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 212, + "y": 29 + }, + "jewish": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 117, + "y": 0 + }, + "kissing_gate": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 203, + "y": 375 + }, + "laundry": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 137, + "y": 0 + }, + "level_crossing": { + "height": 13, + "pixelRatio": 1, + "sdf": true, + "width": 13, + "x": 0, + "y": 413 + }, + "level_crossing2": { + "height": 17, + "pixelRatio": 1, + "sdf": true, + "width": 17, + "x": 90, + "y": 395 + }, + "library": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 157, + "y": 0 + }, + "lift_gate": { + "height": 11, + "pixelRatio": 1, + "sdf": true, + "width": 12, + "x": 87, + "y": 413 + }, + "lighthouse": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 177, + "y": 0 + }, + "manor": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 197, + "y": 0 + }, + "map": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 217, + "y": 0 + }, + "marketplace": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 215 + }, + "massage": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 215 + }, + "mast": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 215 + }, + "mast_communications": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 215 + }, + "mast_lighting": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 215 + }, + "medical_supply": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 215 + }, + "memorial": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 215 + }, + "miniature_golf": { + "height": 26, + "pixelRatio": 1, + "sdf": true, + "width": 26, + "x": 26, + "y": 29 + }, + "mobile_phone": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 215 + }, + "monument": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 215 + }, + "motel": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 215 + }, + "motorcycle": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 215 + }, + "motorcycle_barrier": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 215 + }, + "motorcycle_parking": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 235 + }, + "museum": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 235 + }, + "music": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 235 + }, + "musical_instrument": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 235 + }, + "muslim": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 235 + }, + "newsagent": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 235 + }, + "nightclub": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 235 + }, + "obelisk": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 235 + }, + "office": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 235 + }, + "oneway": { + "height": 11, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 99, + "y": 413 + }, + "oneway-reverse": { + "height": 11, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 117, + "y": 413 + }, + "optician": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 235 + }, + "outdoor": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 235 + }, + "outdoor_seating": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 235 + }, + "paint": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 255 + }, + "palace": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 255 + }, + "parking": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 221, + "y": 375 + }, + "parking_entrance_multistorey": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 255 + }, + "parking_entrance_underground": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 255 + }, + "parking_subtle": { + "height": 13, + "pixelRatio": 1, + "sdf": true, + "width": 13, + "x": 13, + "y": 413 + }, + "parking_tickets": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 255 + }, + "peak": { + "height": 14, + "pixelRatio": 1, + "sdf": true, + "width": 14, + "x": 171, + "y": 395 + }, + "perfumery": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 255 + }, + "pet": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 255 + }, + "pharmacy": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 255 + }, + "photo": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 255 + }, + "picnic": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 255 + }, + "place-4": { + "height": 10, + "pixelRatio": 1, + "sdf": true, + "width": 10, + "x": 135, + "y": 413 + }, + "place-4-z7": { + "height": 10, + "pixelRatio": 1, + "sdf": true, + "width": 10, + "x": 145, + "y": 413 + }, + "place-6": { + "height": 12, + "pixelRatio": 1, + "sdf": true, + "width": 12, + "x": 39, + "y": 413 + }, + "place-6-z7": { + "height": 12, + "pixelRatio": 1, + "sdf": true, + "width": 12, + "x": 51, + "y": 413 + }, + "place-capital-6": { + "height": 12, + "pixelRatio": 1, + "sdf": true, + "width": 12, + "x": 63, + "y": 413 + }, + "place-capital-8": { + "height": 14, + "pixelRatio": 1, + "sdf": true, + "width": 14, + "x": 185, + "y": 395 + }, + "place_of_worship": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 255 + }, + "plaque": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 0, + "y": 395 + }, + "playground": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 255 + }, + "police": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 275 + }, + "post_box": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 18, + "y": 395 + }, + "post_office": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 275 + }, + "power_tower": { + "height": 13, + "pixelRatio": 1, + "sdf": true, + "width": 13, + "x": 26, + "y": 413 + }, + "power_tower_small": { + "height": 9, + "pixelRatio": 1, + "sdf": true, + "width": 9, + "x": 155, + "y": 413 + }, + "prison": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 275 + }, + "pub": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 36, + "y": 395 + }, + "public_bath": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 275 + }, + "public_bookcase": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 275 + }, + "public_transport_tickets": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 275 + }, + "recycling": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 275 + }, + "rental_bicycle": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 275 + }, + "rental_car": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 275 + }, + "restaurant": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 275 + }, + "saddle": { + "height": 14, + "pixelRatio": 1, + "sdf": true, + "width": 14, + "x": 199, + "y": 395 + }, + "sauna": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 275 + }, + "seafood": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 275 + }, + "second_hand": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 295 + }, + "shelter": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 295 + }, + "shintoist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 295 + }, + "shoes": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 295 + }, + "shower": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 295 + }, + "shrine": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 295 + }, + "sikhist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 295 + }, + "slipway": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 295 + }, + "social_facility": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 295 + }, + "sports": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 295 + }, + "spring": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 54, + "y": 395 + }, + "stationery": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 295 + }, + "statue": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 295 + }, + "stile": { + "height": 16, + "pixelRatio": 1, + "sdf": true, + "width": 16, + "x": 155, + "y": 395 + }, + "stone": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 315 + }, + "storage_tank": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 315 + }, + "supermarket": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 315 + }, + "taoist": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 315 + }, + "taxi": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 315 + }, + "tea": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 315 + }, + "telephone": { + "height": 18, + "pixelRatio": 1, + "sdf": true, + "width": 18, + "x": 72, + "y": 395 + }, + "telescope_dish": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 315 + }, + "telescope_dome": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 315 + }, + "terminal": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 315 + }, + "theatre": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 315 + }, + "ticket": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 315 + }, + "tobacco": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 315 + }, + "toilets": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 335 + }, + "toll_booth": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 335 + }, + "tower_cantilever_communication": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 335 + }, + "tower_cooling": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 335 + }, + "tower_defensive": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 335 + }, + "tower_dish": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 335 + }, + "tower_dome": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 335 + }, + "tower_generic": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 335 + }, + "tower_lattice": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 335 + }, + "tower_lattice_communication": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 335 + }, + "tower_lattice_lighting": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 335 + }, + "tower_lighting": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 335 + }, + "tower_observation": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 355 + }, + "town_hall": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 355 + }, + "toys": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 355 + }, + "trade": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 355 + }, + "traffic_light": { + "height": 19, + "pixelRatio": 1, + "sdf": true, + "width": 11, + "x": 120, + "y": 375 + }, + "travel_agency": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 355 + }, + "tyres": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 355 + }, + "variety_store": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 120, + "y": 355 + }, + "vehicle_inspection": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 140, + "y": 355 + }, + "veterinary": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 160, + "y": 355 + }, + "video": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 180, + "y": 355 + }, + "video_games": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 200, + "y": 355 + }, + "viewpoint": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 220, + "y": 355 + }, + "waste_basket": { + "height": 14, + "pixelRatio": 1, + "sdf": true, + "width": 14, + "x": 213, + "y": 395 + }, + "waste_disposal": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 0, + "y": 375 + }, + "water_park": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 20, + "y": 375 + }, + "water_tower": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 40, + "y": 375 + }, + "waterfall": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 60, + "y": 375 + }, + "wilderness_hut": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 80, + "y": 375 + }, + "windmill": { + "height": 20, + "pixelRatio": 1, + "sdf": true, + "width": 20, + "x": 100, + "y": 375 + } +} \ No newline at end of file diff --git a/basemap/assets/icons.png b/basemap/assets/icons.png new file mode 100644 index 000000000..52d290c65 Binary files /dev/null and b/basemap/assets/icons.png differ diff --git a/basemap/layers/amenity/icon.js b/basemap/layers/amenity/icon.js new file mode 100644 index 000000000..14ec646c4 --- /dev/null +++ b/basemap/layers/amenity/icon.js @@ -0,0 +1,2066 @@ +/** + 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, + }, +}); \ No newline at end of file diff --git a/basemap/layers/amenity/overlay.js b/basemap/layers/amenity/overlay.js index bce5e23f7..699960b56 100644 --- a/basemap/layers/amenity/overlay.js +++ b/basemap/layers/amenity/overlay.js @@ -18,15 +18,16 @@ import {asLayerObject, withSortKeys} from "../../utils/utils.js"; import theme from "../../theme.js"; let directives = [ - { - filter: ['==', ['get', 'amenity'], 'motorcycle_parking'], - 'fill-color': theme.amenityMotorcycleParkingOverlayFillColor, - }, { filter: [ 'all', ['!=', ['get', 'layer'], '-1'], - ['==', ['get', 'amenity'], 'parking'] + ['any', + ['==', ['get', 'amenity'], 'bicycle_parking'], + ['==', ['get', 'amenity'], 'motorcycle_parking'], + ['==', ['get', 'amenity'], 'parking_space'], + ['==', ['get', 'amenity'], 'parking'], + ], ], 'fill-color': theme.amenityParkingOverlayFillColor, 'fill-outline-color': theme.amenityParkingOverlayOutlineColor @@ -42,7 +43,7 @@ export default asLayerObject(withSortKeys(directives), { visibility: 'visible', }, paint: { - 'fill-antialias': false, + 'fill-antialias': true, }, filter: ['==', ["geometry-type"], 'Polygon'], }); diff --git a/basemap/layers/barrier/line.js b/basemap/layers/barrier/line.js index b46ef88c0..6e862853e 100644 --- a/basemap/layers/barrier/line.js +++ b/basemap/layers/barrier/line.js @@ -23,6 +23,22 @@ let directives = [ 'line-color': theme.barrierHedgeLineColor, 'line-width-stops': theme.barrierHedgeLineWidth, }, + { + filter: ['==', ['get', 'barrier'], 'wall'], + 'line-color': theme.barrierWallLineColor, + 'line-width-stops': theme.barrierWallLineWidth, + }, + { + filter: ['==', ['get', 'barrier'], 'wall'], + 'line-color': theme.barrierFenceLineColor, + 'line-width-stops': theme.barrierFenceLineWidth, + }, + { + filter: ['==', ['get', 'barrier'], 'city_wall'], + 'line-color': theme.barrierCityWallLineColor, + 'line-width-stops': theme.barrierCityWallLineWidth, + }, + ]; export default asLayerObject(withSortKeys(directives), { diff --git a/basemap/layers/natural/overlay.js b/basemap/layers/natural/overlay.js index ea29dabc9..fce9384f2 100644 --- a/basemap/layers/natural/overlay.js +++ b/basemap/layers/natural/overlay.js @@ -18,10 +18,6 @@ import {asLayerObject, withSortKeys} from "../../utils/utils.js"; import theme from "../../theme.js"; let directives = [ - { - filter: ['==', ['get', 'natural'], 'wetland'], - 'fill-color': theme.naturalWetlandOverlayFillColor - }, { filter: [ 'all', @@ -46,6 +42,10 @@ let directives = [ ], 'fill-color': theme.naturalLakeOverlayFillColor }, + { + filter: ['==', ['get', 'natural'], 'wetland'], + 'fill-color': theme.naturalWetlandOverlayFillColor + }, ]; export default asLayerObject(withSortKeys(directives), { diff --git a/basemap/layers/railway/line.js b/basemap/layers/railway/line.js index b078cb08b..fb91bb351 100644 --- a/basemap/layers/railway/line.js +++ b/basemap/layers/railway/line.js @@ -36,6 +36,15 @@ export let directives = [ 'line-color': theme.railwayAllRailsLineColor, 'line-width-stops': theme.railwayServiceLineWidth, }, + + { + 'filter': ['all', + ['==', ['get', 'railway'], 'turntable'], + ['has', 'service'] + ], + 'line-color': theme.railwayAllRailsLineColor, + 'line-width-stops': theme.railwayServiceLineWidth, + }, { 'filter': ['==', ['get', 'railway'], 'subway'], 'line-color': theme.railwaySubwayLineColor, diff --git a/basemap/layers/railway/tunnel.js b/basemap/layers/railway/tunnel.js index b63e0add3..1bf02bfff 100644 --- a/basemap/layers/railway/tunnel.js +++ b/basemap/layers/railway/tunnel.js @@ -15,9 +15,91 @@ limitations under the License. **/ import {asLayerObject, withSortKeys} from "../../utils/utils.js"; +import theme from "../../theme.js"; -import {directives} from './line.js' +export let directives = [ + { + 'filter': [ + 'all', + ['==', ['get', 'railway'], 'rail'], + ['!', ['has', 'service']], + ], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayRailLineWidth, + }, + { + 'filter': ['all', + ['==', ['get', 'railway'], 'rail'], + ['has', 'service'] + ], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayServiceLineWidth, + }, + { + 'filter': ['all', + ['==', ['get', 'railway'], 'turntable'], + ['has', 'service'] + ], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayServiceLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'subway'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwaySubwayLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'tram'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayTramLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'preserved'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayPreservedLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'funicular'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayFunicularLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'monorail'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayMonorailLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'light_rail'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayLightRailLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'construction'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayConstructionLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'abandoned'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayAbandonedLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'disused'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayDisusedLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'miniature'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayMiniatureLineWidth, + }, + { + 'filter': ['==', ['get', 'railway'], 'narrow_gauge'], + 'line-color': theme.railwayTunnelColor, + 'line-width-stops': theme.railwayNarrowGaugeLineWidth, + }, +]; export default asLayerObject(withSortKeys(directives), { 'id': 'railway_tunnel', @@ -29,9 +111,6 @@ export default asLayerObject(withSortKeys(directives), { 'line-cap': 'round', 'line-join': 'round', }, - 'paint': { - 'line-dasharray': [1, 2] - }, 'filter': ['all', ['==', ['geometry-type'], 'LineString'], ['==', ['get', 'tunnel'], 'yes'], diff --git a/basemap/style.js b/basemap/style.js index 923bb4355..0073b976f 100644 --- a/basemap/style.js +++ b/basemap/style.js @@ -101,9 +101,9 @@ export default { man_made_line, man_made_label, amenity_fountain, + railway_tunnel, highway_tunnel_outline, highway_tunnel_line, - railway_tunnel, building_fill, highway_construction_line, highway_outline, diff --git a/basemap/themes/default.js b/basemap/themes/default.js index 898698da6..833451b98 100644 --- a/basemap/themes/default.js +++ b/basemap/themes/default.js @@ -48,6 +48,7 @@ export default { amenityIconColor: 'rgb(115, 74, 7)', amenityKinderGartenFillColor: 'rgb(255, 255, 228)', amenityMotorcycleParkingOverlayFillColor: 'rgb(238, 238, 238)', + amenityMotorcycleParkingOverlayOutlineColor: 'rgb(205, 203, 199)', amenityParkingEntranceIconColor: 'rgba(0, 146, 218, 1)', amenityParkingEntranceIconHaloColor: 'rgba(255, 255, 255, 0.8)', amenityParkingEntranceTextColor: 'rgba(0, 146, 218, 1)', @@ -77,9 +78,15 @@ export default { attractionWaterSlideLineColor: 'rgb(126,204,173)', attractionWaterSlideLineWidth: [5, 0.5, 16, 1], backgroundColor: 'rgb(242, 239, 233)', + barrierCityWallLineColor: 'rgb(157,157,157)', + barrierCityWallLineWidth: [5, 0.5, 16, 2], + barrierFenceLineColor: 'rgb(157,157,157)', + barrierFenceLineWidth: [5, 0.5, 16, 0.1], barrierGuardRailBackgroundLineColor: 'rgba(139, 177, 162, 1)', barrierHedgeLineColor: 'rgb(173, 209, 158)', barrierHedgeLineWidth: [5, 0.5, 16, 1], + barrierWallLineColor: 'rgb(157,157,157)', + barrierWallLineWidth: [5, 0.5, 16, 0.2], boundaryAdminLevelLineColor: 'rgb(207, 155, 203)', buildingCemeteryTextColor: 'rgba(69, 95, 72, 1)', buildingCemeteryTextHaloColor: 'rgba(255, 255, 255, 0.8)', @@ -370,6 +377,7 @@ export default { railwaySubwayLineWidth: [5, 0.5, 16, 3], railwayTramLineColor: 'rgb(77,77,77)', railwayTramLineWidth: [5, 0.5, 16, 3], + railwayTunnelColor: 'rgb(201,201,201)', religionIconColor: 'rgb(0, 0, 0)', routeFerryLineColor: 'rgb(112, 181, 201)', shopIconColor: 'rgb(172, 57, 172)',