From c4a469e9a23ffbc19fd6f45a35b65ce0191017c3 Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Thu, 15 Aug 2019 12:50:39 -0500 Subject: [PATCH] Remove geometry type selection from the preset browser (#6760) Add toolbar item to toggle the geometry type when adding a feature Detach geometry types from favorite and recent presets Update some presets to indicate the preferred geometry types Don't show standalone point frames for preset icons in the preset browser or quick preset buttons Update the "Add Feature" button icon to show specific instead of generic features --- css/80_app.css | 6 +- data/core.yaml | 10 +- data/presets/presets.json | 78 +++++----- data/presets/presets/amenity/college.json | 4 +- data/presets/presets/amenity/crematorium.json | 4 +- data/presets/presets/amenity/hospital.json | 4 +- .../presets/presets/amenity/kindergarten.json | 4 +- data/presets/presets/amenity/monastery.json | 4 +- data/presets/presets/amenity/parking.json | 4 +- .../presets/amenity/parking/park_ride.json | 4 +- .../presets/amenity/parking/underground.json | 4 +- .../presets/amenity/parking_space.json | 4 +- data/presets/presets/amenity/prison.json | 4 +- data/presets/presets/amenity/school.json | 4 +- data/presets/presets/amenity/university.json | 4 +- data/presets/presets/amenity/water_point.json | 4 +- .../presets/amenity/watering_place.json | 4 +- data/presets/presets/leisure/park.json | 4 +- .../presets/leisure/swimming_pool.json | 4 +- .../presets/man_made/storage_tank.json | 4 +- .../presets/presets/man_made/water_tower.json | 4 +- data/presets/presets/natural/reef.json | 4 +- data/presets/presets/natural/wood.json | 4 +- .../presets/presets/waterway/water_point.json | 6 +- data/taginfo.json | 42 +++--- data/territory-languages.json | 32 ++--- dist/locales/en.json | 16 +-- modules/modes/draw_area.js | 5 +- modules/modes/draw_line.js | 3 + modules/presets/index.js | 63 +++----- modules/presets/preset.js | 31 ++++ modules/ui/assistant.js | 32 ++--- modules/ui/entity_editor.js | 3 +- modules/ui/preset_browser.js | 136 +++--------------- modules/ui/preset_favorite_button.js | 8 +- modules/ui/tools/add_feature.js | 4 +- modules/ui/tools/add_recent.js | 4 +- modules/ui/tools/adding_geometry.js | 81 +++++++++++ modules/ui/tools/quick_presets.js | 45 +++--- modules/ui/tools/segmented.js | 5 +- modules/ui/tools/structure.js | 3 + modules/ui/tools/way_segments.js | 6 +- modules/ui/top_toolbar.js | 4 +- svg/iD-sprite/tools/presets-grid.svg | 4 + 44 files changed, 348 insertions(+), 359 deletions(-) create mode 100644 modules/ui/tools/adding_geometry.js create mode 100644 svg/iD-sprite/tools/presets-grid.svg diff --git a/css/80_app.css b/css/80_app.css index 5f9e4232fb..76058645e6 100644 --- a/css/80_app.css +++ b/css/80_app.css @@ -564,12 +564,10 @@ button.bar-button .label { margin-right: 6px; } [dir='ltr'] .toolbar-item.add-feature .disclosure-icon { - margin-left: 2px; - margin-right: -2px; + margin-left: 4px; } [dir='rtl'] .toolbar-item.add-feature .disclosure-icon { - margin-left: -2px; - margin-right: 2px; + margin-right: 4px; } button.bar-button.dragging { diff --git a/data/core.yaml b/data/core.yaml index 2923ae3652..d7028546a2 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -42,11 +42,11 @@ en: tooltip: Customize the toolbar. assistant: mode: - adding: Adding authenticating: Authenticating drawing: Drawing editing: Editing mapping: Mapping + placing: Placing saving: Saving viewing: Viewing instructions: @@ -116,14 +116,6 @@ en: key: N add_preset: title: "Add {feature}" - point: - title: "Add {feature} as a point" - line: - title: "Add {feature} as a line" - area: - title: "Add {feature} as an area" - building: - title: "Add {feature} as a building" browse: title: Browse description: Pan and zoom the map. diff --git a/data/presets/presets.json b/data/presets/presets.json index 94540acbbb..6a50a50bc3 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -95,13 +95,13 @@ "amenity/clinic/fertility": {"icon": "maki-hospital", "geometry": ["point", "area"], "terms": ["egg", "fertility", "reproductive", "sperm", "ovulation"], "tags": {"amenity": "clinic", "healthcare": "clinic", "healthcare:speciality": "fertility"}, "reference": {"key": "amenity", "value": "clinic"}, "name": "Fertility Clinic"}, "amenity/clock": {"icon": "temaki-clock", "fields": ["name", "support", "display", "visibility", "date", "faces"], "moreFields": ["covered", "height", "indoor", "lit", "manufacturer"], "geometry": ["point", "vertex"], "terms": ["time"], "tags": {"amenity": "clock"}, "name": "Clock"}, "amenity/clock/sundial": {"icon": "temaki-clock", "fields": ["name", "support", "visibility", "inscription"], "moreFields": [], "geometry": ["point", "vertex"], "terms": ["gnomon", "shadow"], "tags": {"amenity": "clock", "display": "sundial"}, "reference": {"key": "display", "value": "sundial"}, "name": "Sundial"}, - "amenity/college": {"icon": "maki-college", "fields": ["name", "operator", "operator/type", "address", "website", "internet_access", "internet_access/fee"], "moreFields": ["religion", "denomination", "internet_access/ssid", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["university", "undergraduate school"], "tags": {"amenity": "college"}, "name": "College Grounds"}, + "amenity/college": {"icon": "maki-college", "fields": ["name", "operator", "operator/type", "address", "website", "internet_access", "internet_access/fee"], "moreFields": ["religion", "denomination", "internet_access/ssid", "phone", "email", "fax", "wheelchair"], "geometry": ["area", "point"], "terms": ["university", "undergraduate school"], "tags": {"amenity": "college"}, "name": "College Grounds"}, "amenity/community_centre": {"icon": "maki-town-hall", "fields": ["name", "operator", "address", "building_area"], "moreFields": ["air_conditioning", "email", "fax", "phone", "polling_station", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["event", "hall"], "tags": {"amenity": "community_centre"}, "name": "Community Center"}, "amenity/community_centre/lgbtq": {"icon": "maki-town-hall", "geometry": ["point", "area"], "terms": ["lgbtq event", "lgbtq hall", "lgbt event", "lgbt hall", "lgb event", "lgb hall"], "tags": {"amenity": "community_centre", "lgbtq": "primary"}, "name": "LGBTQ+ Community Center"}, "amenity/compressed_air": {"icon": "maki-car", "fields": ["operator", "access_simple", "fee", "payment_multi_fee", "charge_fee", "covered", "lit"], "moreFields": ["brand", "manufacturer"], "geometry": ["point", "area"], "tags": {"amenity": "compressed_air"}, "name": "Compressed Air"}, "amenity/conference_centre": {"icon": "fas-user-tie", "fields": ["name", "operator", "building_area", "address", "website", "internet_access"], "moreFields": ["air_conditioning", "email", "fax", "internet_access/fee", "internet_access/ssid", "phone", "smoking", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "conference_centre"}, "terms": ["auditorium", "conference", "exhibition", "exposition", "lecture"], "name": "Convention Center"}, "amenity/courthouse": {"icon": "fas-gavel", "fields": ["name", "operator", "address", "building_area"], "moreFields": ["email", "fax", "phone", "polling_station", "smoking", "website", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "courthouse"}, "name": "Courthouse"}, - "amenity/crematorium": {"icon": "maki-cemetery", "fields": ["name", "website", "phone", "opening_hours", "wheelchair"], "moreFields": ["address", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["area", "point"], "tags": {"amenity": "crematorium"}, "terms": ["cemetery", "funeral"], "name": "Crematorium"}, + "amenity/crematorium": {"icon": "maki-cemetery", "fields": ["name", "website", "phone", "opening_hours", "wheelchair"], "moreFields": ["address", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "crematorium"}, "terms": ["cemetery", "funeral"], "name": "Crematorium"}, "amenity/dentist": {"icon": "maki-dentist", "fields": ["name", "operator", "healthcare/speciality", "address", "building_area", "opening_hours"], "moreFields": ["payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["tooth", "teeth"], "tags": {"amenity": "dentist"}, "addTags": {"amenity": "dentist", "healthcare": "dentist"}, "reference": {"key": "amenity", "value": "dentist"}, "name": "Dentist"}, "amenity/dive_centre": {"icon": "temaki-scuba_diving", "fields": ["name", "operator", "address", "building_area", "opening_hours", "scuba_diving"], "moreFields": ["payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["diving", "scuba"], "tags": {"amenity": "dive_centre"}, "name": "Dive Center"}, "amenity/doctors": {"icon": "maki-doctor", "fields": ["name", "operator", "healthcare/speciality", "address", "building_area", "opening_hours"], "moreFields": ["payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["medic*", "physician"], "tags": {"amenity": "doctors"}, "addTags": {"amenity": "doctors", "healthcare": "doctor"}, "reference": {"key": "amenity", "value": "doctors"}, "name": "Doctor"}, @@ -126,29 +126,29 @@ "amenity/fuel": {"icon": "maki-fuel", "fields": ["name", "brand", "operator", "address", "fuel_multi", "self_service"], "moreFields": ["opening_hours", "payment_multi", "building", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["petrol", "fuel", "gasoline", "propane", "diesel", "lng", "cng", "biodiesel"], "tags": {"amenity": "fuel"}, "name": "Gas Station"}, "amenity/grave_yard": {"icon": "maki-cemetery", "fields": ["religion", "address"], "moreFields": ["website", "phone", "email", "fax"], "geometry": ["point", "area"], "tags": {"amenity": "grave_yard"}, "name": "Graveyard"}, "amenity/grit_bin": {"icon": "fas-box", "fields": ["operator", "access_simple", "material", "collection_times"], "moreFields": ["colour", "height", "lit"], "geometry": ["point", "vertex"], "tags": {"amenity": "grit_bin"}, "terms": ["salt", "sand"], "name": "Grit Bin"}, - "amenity/hospital": {"icon": "maki-hospital", "fields": ["name", "operator", "operator/type", "healthcare/speciality", "address", "emergency"], "moreFields": ["internet_access", "internet_access/fee", "internet_access/ssid", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["clinic", "doctor", "emergency room", "health", "infirmary", "institution", "sanatorium", "sanitarium", "sick", "surgery", "ward"], "tags": {"amenity": "hospital"}, "addTags": {"amenity": "hospital", "healthcare": "hospital"}, "reference": {"key": "amenity", "value": "hospital"}, "name": "Hospital Grounds"}, + "amenity/hospital": {"icon": "maki-hospital", "fields": ["name", "operator", "operator/type", "healthcare/speciality", "address", "emergency"], "moreFields": ["internet_access", "internet_access/fee", "internet_access/ssid", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["area", "point"], "terms": ["clinic", "doctor", "emergency room", "health", "infirmary", "institution", "sanatorium", "sanitarium", "sick", "surgery", "ward"], "tags": {"amenity": "hospital"}, "addTags": {"amenity": "hospital", "healthcare": "hospital"}, "reference": {"key": "amenity", "value": "hospital"}, "name": "Hospital Grounds"}, "amenity/hunting_stand": {"icon": "temaki-binoculars", "fields": ["access_simple"], "geometry": ["point", "vertex", "area"], "terms": ["game", "gun", "lookout", "rifle", "shoot*", "wild", "watch"], "tags": {"amenity": "hunting_stand"}, "name": "Hunting Stand"}, "amenity/ice_cream": {"icon": "fas-ice-cream", "fields": ["name", "address", "building_area", "opening_hours", "outdoor_seating"], "moreFields": ["takeaway", "delivery", "drive_through", "internet_access", "internet_access/fee", "internet_access/ssid", "diet_multi", "payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["gelato", "sorbet", "sherbet", "frozen", "yogurt"], "tags": {"amenity": "ice_cream"}, "name": "Ice Cream Shop"}, "amenity/internet_cafe": {"icon": "temaki-antenna", "fields": ["name", "operator", "operator/type", "address", "building_area", "internet_access", "internet_access/fee", "internet_access/ssid"], "moreFields": ["air_conditioning", "email", "fax", "opening_hours", "outdoor_seating", "payment_multi", "phone", "smoking", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["cybercafe", "taxiphone", "teleboutique", "coffee", "cafe", "net", "lanhouse"], "tags": {"amenity": "internet_cafe"}, "name": "Internet Cafe"}, "amenity/karaoke": {"icon": "maki-karaoke", "fields": ["name", "operator", "address", "building_area", "opening_hours", "website"], "moreFields": ["air_conditioning", "email", "fax", "payment_multi", "phone", "smoking", "wheelchair"], "geometry": ["point", "area"], "terms": ["karaoke club", "karaoke room", "karaoke television", "KTV"], "tags": {"amenity": "karaoke_box"}, "name": "Karaoke Box"}, - "amenity/kindergarten": {"icon": "maki-school", "fields": ["name", "operator", "address", "phone", "preschool"], "moreFields": ["email", "fax", "opening_hours", "payment_multi", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["kindergarden", "pre-school"], "tags": {"amenity": "kindergarten"}, "name": "Preschool/Kindergarten Grounds"}, + "amenity/kindergarten": {"icon": "maki-school", "fields": ["name", "operator", "address", "phone", "preschool"], "moreFields": ["email", "fax", "opening_hours", "payment_multi", "website", "wheelchair"], "geometry": ["area", "point"], "terms": ["kindergarden", "pre-school"], "tags": {"amenity": "kindergarten"}, "name": "Preschool/Kindergarten Grounds"}, "amenity/language_school": {"icon": "maki-school", "fields": ["name", "operator", "operator/type", "address", "building_area", "opening_hours", "language_multi"], "moreFields": ["email", "fax", "internet_access", "internet_access/fee", "internet_access/ssid", "payment_multi", "phone", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["esl"], "tags": {"amenity": "language_school"}, "name": "Language School"}, "amenity/letter_box": {"icon": "temaki-letter_box", "fields": ["post", "access_simple", "collection_times", "height"], "moreFields": ["covered", "indoor", "lit", "manufacturer", "material", "operator", "wheelchair"], "geometry": ["point", "vertex"], "tags": {"amenity": "letter_box"}, "terms": ["curbside delivery box", "home delivery box", "direct-to-door delivery box", "letter hole", "letter plate", "letter slot", "letterbox", "letterhole", "letterplate", "letterslot", "mail box", "mail hole", "mail slot", "mailbox", "mailhole", "mailslot", "through-door delivery box"], "name": "Letter Box"}, "amenity/library": {"icon": "maki-library", "fields": ["name", "operator", "operator/type", "building_area", "address", "ref/isil", "internet_access", "internet_access/fee", "internet_access/ssid"], "moreFields": ["access_simple", "air_conditioning", "email", "fax", "opening_hours", "payment_multi", "phone", "polling_station", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["book"], "tags": {"amenity": "library"}, "name": "Library"}, "amenity/love_hotel": {"icon": "maki-heart", "fields": ["name", "operator", "address", "building_area", "rooms", "internet_access", "internet_access/fee"], "moreFields": ["smoking", "payment_multi", "internet_access/ssid", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "love_hotel"}, "name": "Love Hotel"}, "amenity/marketplace": {"icon": "maki-shop", "fields": ["name", "operator", "address", "building", "opening_hours"], "moreFields": ["website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "marketplace"}, "name": "Marketplace"}, - "amenity/monastery": {"icon": "maki-place-of-worship", "fields": ["name", "religion", "denomination", "address", "building_area"], "moreFields": ["website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["abbey", "basilica", "bethel", "cathedral", "chancel", "chantry", "chapel", "church", "fold", "house of God", "house of prayer", "house of worship", "minster", "mission", "monastery", "mosque", "oratory", "parish", "sacellum", "sanctuary", "shrine", "synagogue", "tabernacle", "temple"], "tags": {"amenity": "monastery"}, "name": "Monastery Grounds"}, + "amenity/monastery": {"icon": "maki-place-of-worship", "fields": ["name", "religion", "denomination", "address", "building_area"], "moreFields": ["website", "phone", "email", "fax", "wheelchair"], "geometry": ["area", "point"], "terms": ["abbey", "basilica", "bethel", "cathedral", "chancel", "chantry", "chapel", "church", "fold", "house of God", "house of prayer", "house of worship", "minster", "mission", "monastery", "mosque", "oratory", "parish", "sacellum", "sanctuary", "shrine", "synagogue", "tabernacle", "temple"], "tags": {"amenity": "monastery"}, "name": "Monastery Grounds"}, "amenity/money_transfer": {"icon": "maki-bank", "fields": ["name", "brand", "address", "building_area", "payment_multi", "currency_multi"], "moreFields": ["opening_hours", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["money order", "check", "bill", "currency", "finance", "wire transfer", "cable", "person to person", "cash to cash", "exchange"], "tags": {"amenity": "money_transfer"}, "name": "Money Transfer Station"}, "amenity/motorcycle_parking": {"icon": "fas-motorcycle", "fields": ["capacity", "operator", "covered", "access_simple"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "motorcycle_parking"}, "name": "Motorcycle Parking"}, "amenity/music_school": {"icon": "maki-school", "fields": ["name", "operator", "address", "building_area", "opening_hours"], "moreFields": ["payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["school of music"], "tags": {"amenity": "music_school"}, "name": "Music School"}, "amenity/nightclub": {"icon": "maki-bar", "fields": ["name", "operator", "address", "building_area", "opening_hours", "smoking"], "moreFields": ["air_conditioning", "payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "nightclub"}, "terms": ["disco*", "night club", "dancing", "dance club"], "name": "Nightclub"}, "amenity/nightclub/lgbtq": {"icon": "maki-bar", "geometry": ["point", "area"], "tags": {"amenity": "nightclub", "lgbtq": "primary"}, "terms": ["gay nightclub", "lesbian nightclub", "lgbtq nightclub", "lgbt nightclub", "lgb nightclub"], "name": "LGBTQ+ Nightclub"}, "amenity/parking_entrance": {"icon": "maki-entrance-alt1", "fields": ["access_simple", "ref"], "geometry": ["vertex"], "tags": {"amenity": "parking_entrance"}, "name": "Parking Garage Entrance/Exit"}, - "amenity/parking_space": {"fields": ["capacity"], "geometry": ["point", "vertex", "area"], "terms": [], "tags": {"amenity": "parking_space"}, "matchScore": 0.95, "name": "Parking Space"}, - "amenity/parking": {"icon": "maki-car", "fields": ["operator", "operator/type", "parking", "capacity", "access_simple", "fee", "payment_multi_fee", "charge_fee", "surface"], "moreFields": ["address", "covered", "email", "fax", "maxstay", "name", "opening_hours", "park_ride", "phone", "ref", "supervised", "website", "wheelchair"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "parking"}, "terms": ["automobile parking", "car lot", "car parking", "rv parking", "truck parking", "vehicle parking"], "name": "Parking Lot"}, + "amenity/parking_space": {"fields": ["capacity"], "geometry": ["area", "point", "vertex"], "terms": [], "tags": {"amenity": "parking_space"}, "matchScore": 0.95, "name": "Parking Space"}, + "amenity/parking": {"icon": "maki-car", "fields": ["operator", "operator/type", "parking", "capacity", "access_simple", "fee", "payment_multi_fee", "charge_fee", "surface"], "moreFields": ["address", "covered", "email", "fax", "maxstay", "name", "opening_hours", "park_ride", "phone", "ref", "supervised", "website", "wheelchair"], "geometry": ["area", "point", "vertex"], "tags": {"amenity": "parking"}, "terms": ["automobile parking", "car lot", "car parking", "rv parking", "truck parking", "vehicle parking"], "name": "Parking Lot"}, "amenity/parking/multi-storey": {"icon": "maki-car", "fields": ["name", "{amenity/parking}", "building"], "moreFields": ["{amenity/parking}", "levels", "height"], "geometry": ["area"], "tags": {"amenity": "parking", "parking": "multi-storey"}, "addTags": {"building": "parking", "amenity": "parking", "parking": "multi-storey"}, "reference": {"key": "parking", "value": "multi-storey"}, "terms": ["car", "indoor parking", "multistorey car park", "parkade", "parking building", "parking deck", "parking garage", "parking ramp", "parking structure"], "matchScore": 1.05, "name": "Multilevel Parking Garage"}, - "amenity/parking/park_ride": {"icon": "maki-car", "geometry": ["point", "vertex", "area"], "tags": {"amenity": "parking", "park_ride": "yes"}, "reference": {"key": "park_ride", "value": "yes"}, "terms": ["commuter parking lot", "incentive parking lot", "metro parking lot", "park and pool lot", "park and ride lot", "P+R", "public transport parking lot", "public transit parking lot", "train parking lot"], "name": "Park & Ride Lot"}, - "amenity/parking/underground": {"icon": "maki-car", "fields": ["{amenity/parking}", "layer"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "parking", "parking": "underground"}, "addTags": {"amenity": "parking", "parking": "underground", "layer": "-1"}, "reference": {"key": "parking", "value": "underground"}, "terms": ["automobile parking", "car lot", "car parking", "rv parking", "subsurface parking", "truck parking", "vehicle parking"], "matchScore": 1.05, "name": "Underground Parking"}, + "amenity/parking/park_ride": {"icon": "maki-car", "geometry": ["area", "point", "vertex"], "tags": {"amenity": "parking", "park_ride": "yes"}, "reference": {"key": "park_ride", "value": "yes"}, "terms": ["commuter parking lot", "incentive parking lot", "metro parking lot", "park and pool lot", "park and ride lot", "P+R", "public transport parking lot", "public transit parking lot", "train parking lot"], "name": "Park & Ride Lot"}, + "amenity/parking/underground": {"icon": "maki-car", "fields": ["{amenity/parking}", "layer"], "geometry": ["area", "point", "vertex"], "tags": {"amenity": "parking", "parking": "underground"}, "addTags": {"amenity": "parking", "parking": "underground", "layer": "-1"}, "reference": {"key": "parking", "value": "underground"}, "terms": ["automobile parking", "car lot", "car parking", "rv parking", "subsurface parking", "truck parking", "vehicle parking"], "matchScore": 1.05, "name": "Underground Parking"}, "amenity/payment_centre": {"icon": "maki-bank", "fields": ["name", "brand", "address", "building_area", "opening_hours", "payment_multi"], "moreFields": ["currency_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["check", "tax pay", "bill pay", "currency", "finance", "cash", "money"], "tags": {"amenity": "payment_centre"}, "name": "Payment Center"}, "amenity/payment_terminal": {"icon": "far-credit-card", "fields": ["name", "brand", "address", "opening_hours", "payment_multi"], "moreFields": ["currency_multi", "wheelchair"], "geometry": ["point"], "terms": ["interactive kiosk", "ekiosk", "atm", "bill pay", "tax pay", "phone pay", "finance", "cash", "money transfer", "card"], "tags": {"amenity": "payment_terminal"}, "name": "Payment Terminal"}, "amenity/pharmacy": {"icon": "maki-pharmacy", "fields": ["name", "operator", "address", "building_area", "drive_through", "dispensing"], "moreFields": ["opening_hours", "payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "pharmacy"}, "addTags": {"amenity": "pharmacy", "healthcare": "pharmacy"}, "reference": {"key": "amenity", "value": "pharmacy"}, "terms": ["apothecary", "drug store", "drugstore", "med*", "prescription"], "name": "Pharmacy Counter"}, @@ -171,7 +171,7 @@ "amenity/post_box": {"icon": "temaki-post_box", "fields": ["operator", "collection_times", "drive_through", "ref"], "moreFields": ["access_simple", "brand", "covered", "height", "indoor", "manufacturer", "wheelchair"], "geometry": ["point", "vertex"], "tags": {"amenity": "post_box"}, "terms": ["letter drop", "mail box", "package drop", "post box", "postal box"], "name": "Mailbox"}, "amenity/post_office": {"icon": "maki-post", "fields": ["name", "operator", "address", "building_area", "opening_hours"], "moreFields": ["email", "fax", "internet_access", "internet_access/fee", "internet_access/ssid", "payment_multi", "phone", "polling_station", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["letter", "mail"], "tags": {"amenity": "post_office"}, "name": "Post Office"}, "amenity/prep_school": {"icon": "temaki-school", "fields": ["name", "operator", "address", "building_area", "opening_hours"], "moreFields": ["payment_multi", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["academic", "ACT", "SAT", "homework", "math", "reading", "test prep", "tutoring", "writing"], "tags": {"amenity": "prep_school"}, "name": "Test Prep / Tutoring School"}, - "amenity/prison": {"icon": "maki-prison", "fields": ["name", "operator", "operator/type", "address"], "moreFields": ["website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "area"], "terms": ["cell", "jail", "correction"], "tags": {"amenity": "prison"}, "name": "Prison Grounds"}, + "amenity/prison": {"icon": "maki-prison", "fields": ["name", "operator", "operator/type", "address"], "moreFields": ["website", "phone", "email", "fax", "wheelchair"], "geometry": ["area", "point"], "terms": ["cell", "jail", "correction"], "tags": {"amenity": "prison"}, "name": "Prison Grounds"}, "amenity/pub": {"icon": "maki-beer", "fields": ["name", "address", "building_area", "opening_hours", "smoking", "brewery"], "moreFields": ["air_conditioning", "diet_multi", "email", "fax", "internet_access", "internet_access/fee", "internet_access/ssid", "microbrewery", "outdoor_seating", "payment_multi", "phone", "website", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "pub"}, "terms": ["alcohol", "drink", "dive", "beer", "bier", "booze"], "name": "Pub"}, "amenity/pub/lgbtq": {"icon": "maki-beer", "geometry": ["point", "area"], "tags": {"amenity": "pub", "lgbtq": "primary"}, "terms": ["gay pub", "lesbian pub", "lgbtq pub", "lgbt pub", "lgb pub"], "name": "LGBTQ+ Pub"}, "amenity/pub/microbrewery": {"icon": "maki-beer", "geometry": ["point", "area"], "tags": {"amenity": "pub", "microbrewery": "yes"}, "reference": {"key": "microbrewery"}, "terms": ["alcohol", "drink", "dive", "beer", "bier", "booze", "craft brewery", "microbrewery", "small batch brewery"], "name": "Brewpub"}, @@ -200,7 +200,7 @@ "amenity/restaurant/turkish": {"icon": "maki-restaurant", "geometry": ["point", "area"], "terms": ["bar", "breakfast", "cafe", "café", "canteen", "dine", "dining", "dinner", "drive-in", "eat", "grill", "lunch", "table"], "tags": {"amenity": "restaurant", "cuisine": "turkish"}, "reference": {"key": "cuisine", "value": "turkish"}, "name": "Turkish Restaurant"}, "amenity/restaurant/vietnamese": {"icon": "maki-restaurant-noodle", "geometry": ["point", "area"], "terms": ["bar", "breakfast", "cafe", "café", "canteen", "dine", "dining", "dinner", "drive-in", "eat", "grill", "lunch", "table"], "tags": {"amenity": "restaurant", "cuisine": "vietnamese"}, "reference": {"key": "cuisine", "value": "vietnamese"}, "name": "Vietnamese Restaurant"}, "amenity/sanitary_dump_station": {"icon": "temaki-storage_tank", "fields": ["operator", "access_simple", "fee", "payment_multi_fee", "charge_fee", "water_point"], "moreFields": ["opening_hours"], "geometry": ["point", "vertex", "area"], "terms": ["Motor Home", "Camper", "Sanitary", "Dump Station", "Elsan", "CDP", "CTDP", "Chemical Toilet"], "tags": {"amenity": "sanitary_dump_station"}, "name": "RV Toilet Disposal"}, - "amenity/school": {"icon": "maki-school", "fields": ["name", "operator", "operator/type", "address", "religion", "denomination", "website"], "moreFields": ["charge_fee", "email", "fax", "fee", "internet_access", "internet_access/ssid", "phone", "polling_station", "wheelchair"], "geometry": ["point", "area"], "terms": ["academy", "elementary school", "middle school", "high school"], "tags": {"amenity": "school"}, "name": "School Grounds"}, + "amenity/school": {"icon": "maki-school", "fields": ["name", "operator", "operator/type", "address", "religion", "denomination", "website"], "moreFields": ["charge_fee", "email", "fax", "fee", "internet_access", "internet_access/ssid", "phone", "polling_station", "wheelchair"], "geometry": ["area", "point"], "terms": ["academy", "elementary school", "middle school", "high school"], "tags": {"amenity": "school"}, "name": "School Grounds"}, "amenity/shelter": {"icon": "maki-shelter", "fields": ["name", "shelter_type", "building_area", "bench", "bin"], "moreFields": ["lit", "wheelchair"], "geometry": ["point", "vertex", "area"], "terms": ["lean-to", "gazebo", "picnic"], "tags": {"amenity": "shelter"}, "name": "Shelter"}, "amenity/shelter/gazebo": {"icon": "maki-shelter", "fields": ["name", "building_area", "bench", "lit"], "geometry": ["point", "area"], "tags": {"amenity": "shelter", "shelter_type": "gazebo"}, "name": "Gazebo"}, "amenity/shelter/lean_to": {"icon": "maki-shelter", "fields": ["name", "operator", "building_area"], "geometry": ["point", "area"], "tags": {"amenity": "shelter", "shelter_type": "lean_to"}, "name": "Lean-To"}, @@ -225,7 +225,7 @@ "amenity/toilets/disposal/pitlatrine": {"icon": "tnp-2009541", "fields": ["toilets/disposal", "{amenity/toilets}", "toilets/handwashing"], "moreFields": ["{amenity/toilets}"], "geometry": ["point", "vertex", "area"], "terms": ["head", "lavatory", "long drop", "outhouse", "pit toilet", "privy"], "tags": {"amenity": "toilets", "toilets:disposal": "pitlatrine"}, "reference": {"key": "toilets:disposal", "value": "pitlatrine"}, "name": "Pit Latrine"}, "amenity/townhall": {"icon": "maki-town-hall", "fields": ["name", "operator", "address", "building_area"], "moreFields": ["email", "fax", "phone", "polling_station", "smoking", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["village", "city", "government", "courthouse", "municipal"], "tags": {"amenity": "townhall"}, "name": "Town Hall"}, "amenity/toy_library": {"icon": "fas-chess-knight", "fields": ["operator", "address", "building_area", "opening_hours"], "moreFields": ["website", "wheelchair"], "geometry": ["point", "area"], "terms": ["game", "toy"], "tags": {"amenity": "toy_library"}, "name": "Toy Library"}, - "amenity/university": {"icon": "maki-college", "fields": ["{amenity/college}"], "moreFields": ["{amenity/college}"], "geometry": ["point", "area"], "terms": ["college", "graduate school", "PhD program", "master's degree program"], "tags": {"amenity": "university"}, "name": "University Grounds"}, + "amenity/university": {"icon": "maki-college", "fields": ["{amenity/college}"], "moreFields": ["{amenity/college}"], "geometry": ["area", "point"], "terms": ["college", "graduate school", "PhD program", "master's degree program"], "tags": {"amenity": "university"}, "name": "University Grounds"}, "amenity/vehicle_inspection": {"icon": "maki-car", "fields": ["name", "operator", "address", "building_area", "opening_hours"], "moreFields": ["email", "fax", "payment_multi", "phone", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["car inspection"], "tags": {"amenity": "vehicle_inspection"}, "name": "Vehicle Inspection"}, "amenity/vending_machine": {"icon": "temaki-vending_machine", "fields": ["vending", "operator", "payment_multi", "currency_multi"], "moreFields": ["brand", "covered", "height", "indoor", "manufacturer"], "geometry": ["point"], "terms": [], "tags": {"amenity": "vending_machine"}, "matchScore": 0.9, "name": "Vending Machine"}, "amenity/vending_machine/bottle_return": {"icon": "temaki-vending_machine", "fields": ["vending", "operator"], "geometry": ["point"], "terms": ["bottle return"], "tags": {"amenity": "vending_machine", "vending": "bottle_return"}, "reference": {"key": "vending", "value": "bottle_return"}, "name": "Bottle Return Machine"}, @@ -252,8 +252,8 @@ "amenity/waste_disposal": {"icon": "fas-dumpster", "fields": ["operator", "collection_times", "access_simple"], "moreFields": ["brand", "colour", "height", "manufacturer", "material"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "waste_disposal"}, "terms": ["garbage", "rubbish", "litter", "trash"], "name": "Garbage Dumpster"}, "amenity/waste_transfer_station": {"icon": "maki-waste-basket", "fields": ["name", "operator", "operator/type", "address", "opening_hours", "fee", "payment_multi_fee", "charge_fee"], "moreFields": ["email", "fax", "phone", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["dump", "garbage", "recycling", "rubbish", "scrap", "trash"], "tags": {"amenity": "waste_transfer_station"}, "name": "Waste Transfer Station"}, "amenity/waste/dog_excrement": {"icon": "maki-waste-basket", "fields": ["collection_times"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "waste_basket", "waste": "dog_excrement"}, "reference": {"key": "waste", "value": "dog_excrement"}, "terms": ["bin", "garbage", "rubbish", "litter", "trash", "poo", "dog"], "name": "Dog Excrement Bin"}, - "amenity/water_point": {"icon": "maki-drinking-water", "fields": ["operator", "fee", "payment_multi_fee", "charge_fee", "opening_hours"], "geometry": ["area", "vertex", "point"], "tags": {"amenity": "water_point"}, "name": "RV Drinking Water"}, - "amenity/watering_place": {"icon": "maki-drinking-water", "fields": ["operator", "fee", "payment_multi_fee", "charge_fee", "opening_hours"], "geometry": ["area", "vertex", "point"], "tags": {"amenity": "watering_place"}, "name": "Animal Watering Place"}, + "amenity/water_point": {"icon": "maki-drinking-water", "fields": ["operator", "fee", "payment_multi_fee", "charge_fee", "opening_hours"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "water_point"}, "name": "RV Drinking Water"}, + "amenity/watering_place": {"icon": "maki-drinking-water", "fields": ["operator", "fee", "payment_multi_fee", "charge_fee", "opening_hours"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "watering_place"}, "name": "Animal Watering Place"}, "area": {"fields": ["name"], "geometry": ["area"], "tags": {"area": "yes"}, "terms": ["polygon"], "name": "Area", "matchScore": 0.1}, "area/highway": {"fields": ["name", "area/highway", "surface"], "geometry": ["area"], "terms": ["area:highway", "edge of pavement", "highway area", "highway shape", "pavement", "road shape", "street area"], "tags": {"area:highway": "*"}, "name": "Road Surface"}, "attraction/amusement_ride": {"icon": "maki-amusement-park", "geometry": ["point", "area"], "terms": ["theme park", "carnival ride"], "tags": {"attraction": "amusement_ride"}, "name": "Amusement Ride"}, @@ -642,7 +642,7 @@ "leisure/miniature_golf": {"icon": "maki-golf", "fields": ["name", "operator", "address", "opening_hours", "fee", "payment_multi_fee", "charge_fee"], "moreFields": ["website", "phone", "email", "fax"], "geometry": ["point", "area"], "terms": ["crazy golf", "mini golf", "putt-putt"], "tags": {"leisure": "miniature_golf"}, "name": "Miniature Golf"}, "leisure/nature_reserve": {"icon": "maki-park", "geometry": ["point", "area"], "fields": ["name", "operator", "address", "opening_hours"], "moreFields": ["dog", "website", "phone", "email", "fax"], "tags": {"leisure": "nature_reserve"}, "terms": ["protected", "wildlife"], "name": "Nature Reserve"}, "leisure/outdoor_seating": {"icon": "maki-picnic-site", "geometry": ["point", "area"], "fields": ["name", "operator"], "terms": ["al fresco", "beer garden", "dining", "cafe", "restaurant", "pub", "bar", "patio"], "tags": {"leisure": "outdoor_seating"}, "name": "Outdoor Seating Area"}, - "leisure/park": {"icon": "maki-park", "fields": ["name", "operator", "address", "opening_hours"], "moreFields": ["dog", "smoking", "website", "phone", "email", "fax"], "geometry": ["point", "area"], "terms": ["esplanade", "estate", "forest", "garden", "grass", "green", "grounds", "lawn", "lot", "meadow", "parkland", "place", "playground", "plaza", "pleasure garden", "recreation area", "square", "tract", "village green", "woodland"], "tags": {"leisure": "park"}, "name": "Park"}, + "leisure/park": {"icon": "maki-park", "fields": ["name", "operator", "address", "opening_hours"], "moreFields": ["dog", "smoking", "website", "phone", "email", "fax"], "geometry": ["area", "point"], "terms": ["esplanade", "estate", "forest", "garden", "grass", "green", "grounds", "lawn", "lot", "meadow", "parkland", "place", "playground", "plaza", "pleasure garden", "recreation area", "square", "tract", "village green", "woodland"], "tags": {"leisure": "park"}, "name": "Park"}, "leisure/picnic_table": {"icon": "maki-picnic-site", "fields": ["material", "lit", "bench"], "geometry": ["point"], "tags": {"leisure": "picnic_table"}, "terms": ["bench"], "name": "Picnic Table"}, "leisure/picnic_table/chess": {"icon": "fas-chess-pawn", "geometry": ["point"], "tags": {"leisure": "picnic_table", "sport": "chess"}, "reference": {"key": "sport", "value": "chess"}, "terms": ["bench", "chess board", "checkerboard", "checkers", "chequerboard", "game table"], "name": "Chess Table"}, "leisure/pitch": {"icon": "maki-pitch", "fields": ["name", "sport", "access_simple", "surface", "lit"], "moreFields": ["charge_fee", "covered", "fee", "indoor", "payment_multi_fee"], "geometry": ["point", "area"], "tags": {"leisure": "pitch"}, "terms": ["field"], "name": "Sport Pitch"}, @@ -678,7 +678,7 @@ "leisure/sports_centre/swimming": {"icon": "fas-swimmer", "geometry": ["point", "area"], "terms": ["dive", "water"], "tags": {"leisure": "sports_centre", "sport": "swimming"}, "reference": {"key": "sport", "value": "swimming"}, "name": "Swimming Pool Facility"}, "leisure/stadium": {"icon": "maki-pitch", "fields": ["name", "sport", "address"], "moreFields": ["website", "phone", "email", "fax"], "geometry": ["point", "area"], "tags": {"leisure": "stadium"}, "name": "Stadium"}, "leisure/swimming_area": {"icon": "fas-swimmer", "fields": ["name", "access_simple", "supervised", "fee", "payment_multi_fee", "charge_fee", "lit"], "moreFields": ["opening_hours", "operator"], "geometry": ["area"], "terms": ["dive", "water", "aquatics"], "tags": {"leisure": "swimming_area"}, "name": "Natural Swimming Area"}, - "leisure/swimming_pool": {"icon": "fas-swimming-pool", "fields": ["name", "access_simple", "lit", "location_pool", "length", "swimming_pool"], "moreFields": ["address", "opening_hours", "operator"], "geometry": ["point", "area"], "terms": ["dive", "water", "aquatics"], "tags": {"leisure": "swimming_pool"}, "name": "Swimming Pool"}, + "leisure/swimming_pool": {"icon": "fas-swimming-pool", "fields": ["name", "access_simple", "lit", "location_pool", "length", "swimming_pool"], "moreFields": ["address", "opening_hours", "operator"], "geometry": ["area", "point"], "terms": ["dive", "water", "aquatics"], "tags": {"leisure": "swimming_pool"}, "name": "Swimming Pool"}, "leisure/track": {"icon": "iD-other-line", "fields": ["surface", "sport_racing_nonmotor", "lit", "width", "lanes"], "moreFields": ["access", "covered", "indoor"], "geometry": ["point", "line", "area"], "tags": {"leisure": "track"}, "terms": ["cycle", "dog", "greyhound", "horse", "race*", "track"], "name": "Racetrack (Non-Motorsport)"}, "leisure/track/cycling_point": {"icon": "maki-bicycle", "fields": ["{leisure/track/cycling}"], "geometry": ["point"], "tags": {"leisure": "track", "sport": "cycling"}, "terms": ["bicycle track", "bicycling track", "cycle racetrack", "velodrome"], "name": "Cycling Track"}, "leisure/track/cycling": {"icon": "maki-bicycle", "fields": ["name", "surface", "sport_racing_nonmotor", "lit", "width", "lanes"], "geometry": ["line", "area"], "tags": {"leisure": "track", "sport": "cycling"}, "terms": ["bicycle track", "bicycling track", "cycle racetrack", "velodrome"], "name": "Cycling Track"}, @@ -723,7 +723,7 @@ "man_made/pipeline/valve": {"geometry": ["vertex"], "fields": ["ref", "operator", "valve", "location", "diameter"], "moreFields": ["colour", "manufacturer", "material"], "terms": ["oil", "natural gas", "water", "sewer", "sewage"], "tags": {"man_made": "pipeline", "pipeline": "valve"}, "name": "Pipeline Valve"}, "man_made/pumping_station": {"icon": "maki-water", "geometry": ["point", "area"], "tags": {"man_made": "pumping_station"}, "name": "Pumping Station"}, "man_made/silo": {"icon": "temaki-silo", "fields": ["crop", "building_area"], "geometry": ["point", "area"], "terms": ["grain", "corn", "wheat"], "tags": {"man_made": "silo"}, "name": "Silo"}, - "man_made/storage_tank": {"icon": "temaki-storage_tank", "fields": ["content", "operator", "material", "building_area", "height", "capacity"], "moreFields": ["layer", "location", "manufacturer"], "geometry": ["point", "area"], "terms": ["water", "oil", "gas", "petrol"], "tags": {"man_made": "storage_tank"}, "name": "Storage Tank"}, + "man_made/storage_tank": {"icon": "temaki-storage_tank", "fields": ["content", "operator", "material", "building_area", "height", "capacity"], "moreFields": ["layer", "location", "manufacturer"], "geometry": ["area", "point"], "terms": ["water", "oil", "gas", "petrol"], "tags": {"man_made": "storage_tank"}, "name": "Storage Tank"}, "man_made/storage_tank/water": {"icon": "temaki-storage_tank", "geometry": ["point", "area"], "terms": ["cistern", "water tower"], "tags": {"man_made": "storage_tank", "content": "water"}, "name": "Water Tank"}, "man_made/street_cabinet": {"icon": "fas-door-closed", "geometry": ["point", "area"], "fields": ["ref", "operator", "street_cabinet", "height", "colour"], "terms": ["cable tv", "monitoring box", "technical box", "telecommunications", "traffic signal controls"], "tags": {"man_made": "street_cabinet"}, "name": "Street Cabinet"}, "man_made/surveillance": {"icon": "temaki-security_camera", "geometry": ["point", "vertex"], "fields": ["surveillance", "surveillance/type", "surveillance/zone", "direction"], "terms": ["anpr", "alpr", "camera", "car plate recognition", "cctv", "guard", "license plate recognition", "monitoring", "number plate recognition", "security", "video", "webcam"], "tags": {"man_made": "surveillance"}, "name": "Surveillance"}, @@ -738,7 +738,7 @@ "man_made/tower/observation": {"icon": "temaki-tower", "moreFields": ["{man_made/tower}", "opening_hours"], "geometry": ["point", "area"], "terms": ["lookout tower", "fire tower"], "tags": {"man_made": "tower", "tower:type": "observation"}, "reference": {"key": "tower:type", "value": "observation"}, "name": "Observation Tower"}, "man_made/tunnel": {"icon": "tnp-2009642", "fields": ["name", "tunnel", "layer", "width", "length", "height"], "geometry": ["area"], "tags": {"man_made": "tunnel"}, "addTags": {"man_made": "tunnel", "layer": "-1"}, "removeTags": {"man_made": "tunnel", "layer": "*"}, "reference": {"key": "man_made", "value": "tunnel"}, "terms": ["bore", "dig", "shaft", "underground passage", "underpass"], "name": "Tunnel"}, "man_made/wastewater_plant": {"icon": "maki-water", "fields": ["name", "operator", "address"], "moreFields": ["website", "phone", "email", "fax"], "geometry": ["point", "area"], "terms": ["sewage*", "water treatment plant", "reclamation plant"], "tags": {"man_made": "wastewater_plant"}, "name": "Wastewater Plant"}, - "man_made/water_tower": {"icon": "maki-water", "fields": ["operator", "height"], "geometry": ["point", "area"], "tags": {"man_made": "water_tower"}, "name": "Water Tower"}, + "man_made/water_tower": {"icon": "maki-water", "fields": ["operator", "height"], "geometry": ["area", "point"], "tags": {"man_made": "water_tower"}, "name": "Water Tower"}, "man_made/water_well": {"icon": "maki-water", "fields": ["operator"], "geometry": ["point", "area"], "tags": {"man_made": "water_well"}, "name": "Water Well"}, "man_made/water_works": {"icon": "maki-water", "fields": ["name", "operator", "address"], "geometry": ["point", "area"], "tags": {"man_made": "water_works"}, "name": "Water Works"}, "man_made/watermill": {"icon": "maki-watermill", "fields": ["building_area"], "geometry": ["point", "area"], "terms": ["water", "wheel", "mill"], "tags": {"man_made": "watermill"}, "name": "Watermill"}, @@ -765,7 +765,7 @@ "natural/heath": {"geometry": ["area"], "tags": {"natural": "heath"}, "terms": [], "name": "Heath"}, "natural/mud": {"geometry": ["area"], "tags": {"natural": "mud"}, "terms": ["wetland"], "name": "Mud"}, "natural/peak": {"icon": "maki-mountain", "fields": ["name", "elevation"], "geometry": ["point", "vertex"], "tags": {"natural": "peak"}, "terms": ["acme", "aiguille", "alp", "climax", "crest", "crown", "hill", "mount", "mountain", "pinnacle", "summit", "tip", "top"], "name": "Peak"}, - "natural/reef": {"icon": "temaki-beach", "geometry": ["point", "area"], "tags": {"natural": "reef"}, "terms": ["barrier", "coral", "ocean", "sand", "shoal"], "name": "Reef"}, + "natural/reef": {"icon": "temaki-beach", "geometry": ["area", "point"], "tags": {"natural": "reef"}, "terms": ["barrier", "coral", "ocean", "sand", "shoal"], "name": "Reef"}, "natural/ridge": {"geometry": ["line"], "tags": {"natural": "ridge"}, "terms": ["crest"], "name": "Ridge"}, "natural/rock": {"icon": "temaki-boulder2", "fields": ["name"], "geometry": ["point", "area"], "tags": {"natural": "rock"}, "terms": ["boulder", "stone", "rock"], "name": "Attached Rock / Boulder"}, "natural/saddle": {"icon": "maki-triangle-stroked", "fields": ["elevation"], "geometry": ["point", "vertex"], "tags": {"natural": "saddle"}, "terms": ["pass", "mountain pass", "top"], "name": "Saddle"}, @@ -790,7 +790,7 @@ "natural/water/stream": {"icon": "iD-waterway-stream", "fields": ["{natural/water}"], "geometry": ["area"], "tags": {"natural": "water", "water": "stream"}, "reference": {"key": "water", "value": "stream"}, "terms": ["beck", "branch", "brook", "burn", "course", "creek", "current", "drift", "flood", "flow", "freshet", "race", "rill", "rindle", "rivulet", "run", "runnel", "rush", "spate", "spritz", "surge", "tide", "torrent", "tributary", "watercourse"], "name": "Stream"}, "natural/water/wastewater": {"icon": "maki-water", "geometry": ["area"], "tags": {"natural": "water", "water": "wastewater"}, "reference": {"key": "water", "value": "wastewater"}, "terms": ["excrement", "shit", "sewage", "wastewater", "Settling Basin", "Clarifier Basin"], "name": "Wastewater Basin"}, "natural/wetland": {"icon": "maki-wetland", "fields": ["wetland", "salt", "tidal"], "geometry": ["point", "area"], "tags": {"natural": "wetland"}, "terms": ["bog", "fen", "marsh", "mire", "moor", "muskeg", "peatland", "quagmire", "reedbed", "saltmarsh", "swamp", "tidalflat", "wet meadow"], "name": "Wetland"}, - "natural/wood": {"icon": "maki-park-alt1", "fields": ["name", "leaf_type", "leaf_cycle"], "geometry": ["point", "area"], "tags": {"natural": "wood"}, "terms": ["tree"], "name": "Wood"}, + "natural/wood": {"icon": "maki-park-alt1", "fields": ["name", "leaf_type", "leaf_cycle"], "geometry": ["area", "point"], "tags": {"natural": "wood"}, "terms": ["tree"], "name": "Wood"}, "noexit/yes": {"icon": "maki-barrier", "geometry": ["vertex"], "terms": ["no exit", "road end", "dead end"], "tags": {"noexit": "yes"}, "reference": {"key": "noexit", "value": "*"}, "name": "No Exit"}, "office": {"icon": "maki-suitcase", "fields": ["name", "office", "address", "building_area", "opening_hours"], "moreFields": ["air_conditioning", "building/levels_building", "height_building", "email", "fax", "internet_access", "internet_access/fee", "internet_access/ssid", "not/name", "operator", "phone", "smoking", "website", "wheelchair"], "geometry": ["point", "vertex", "area"], "tags": {"office": "*"}, "terms": [], "name": "Office"}, "office/administrative": {"icon": "maki-suitcase", "geometry": ["point", "area"], "tags": {"office": "administrative"}, "terms": [], "searchable": false, "name": "Administrative Office"}, @@ -1227,7 +1227,7 @@ "waterway/sanitary_dump_station": {"icon": "temaki-storage_tank", "fields": ["name", "operator", "access_simple", "fee", "payment_multi_fee", "charge_fee", "water_point"], "moreFields": ["opening_hours", "seamark/type"], "geometry": ["point", "vertex", "area"], "terms": ["Boat", "Watercraft", "Sanitary", "Dump Station", "Pumpout", "Pump out", "Elsan", "CDP", "CTDP", "Chemical Toilet"], "tags": {"waterway": "sanitary_dump_station"}, "name": "Marine Toilet Disposal"}, "waterway/stream_intermittent": {"icon": "iD-waterway-stream", "fields": ["{waterway/stream}"], "moreFields": ["{waterway/stream}"], "geometry": ["line"], "terms": ["arroyo", "beck", "branch", "brook", "burn", "course", "creek", "drift", "flood", "flow", "gully", "run", "runnel", "rush", "spate", "spritz", "tributary", "wadi", "wash", "watercourse"], "tags": {"waterway": "stream", "intermittent": "yes"}, "reference": {"key": "waterway", "value": "stream"}, "name": "Intermittent Stream"}, "waterway/stream": {"icon": "iD-waterway-stream", "fields": ["name", "structure_waterway", "width", "intermittent"], "moreFields": ["covered", "fishing", "salt", "tidal"], "geometry": ["line"], "terms": ["beck", "branch", "brook", "burn", "course", "creek", "current", "drift", "flood", "flow", "freshet", "race", "rill", "rindle", "rivulet", "run", "runnel", "rush", "spate", "spritz", "surge", "tide", "torrent", "tributary", "watercourse"], "tags": {"waterway": "stream"}, "name": "Stream"}, - "waterway/water_point": {"icon": "maki-drinking-water", "geometry": ["area", "vertex", "point"], "tags": {"waterway": "water_point"}, "name": "Marine Drinking Water"}, + "waterway/water_point": {"icon": "maki-drinking-water", "geometry": ["point", "vertex", "area"], "tags": {"waterway": "water_point"}, "name": "Marine Drinking Water"}, "waterway/waterfall": {"icon": "maki-waterfall", "fields": ["name", "height", "width", "intermittent"], "geometry": ["vertex"], "terms": ["fall"], "tags": {"waterway": "waterfall"}, "name": "Waterfall"}, "waterway/weir": {"icon": "maki-dam", "fields": ["name", "operator", "height", "material"], "moreFields": ["seamark/type"], "geometry": ["vertex", "line"], "terms": ["low-head dam", "low-rise dam", "wier"], "tags": {"waterway": "weir"}, "name": "Weir"}, "amenity/bank/ABANCA": {"name": "ABANCA", "icon": "maki-bank", "imageURL": "https://graph.facebook.com/SomosAbanca/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q9598744", "amenity": "bank"}, "addTags": {"amenity": "bank", "brand": "ABANCA", "brand:wikidata": "Q9598744", "brand:wikipedia": "es:Abanca", "name": "ABANCA", "official_name": "ABANCA Corporación Bancaria"}, "countryCodes": ["es"], "terms": [], "matchScore": 2, "suggestion": true}, @@ -2573,7 +2573,7 @@ "amenity/fuel/出光": {"name": "出光", "icon": "maki-fuel", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q2216770", "amenity": "fuel"}, "addTags": {"amenity": "fuel", "brand": "出光", "brand:en": "Idemitsu Kosan", "brand:wikidata": "Q2216770", "brand:wikipedia": "en:Idemitsu Kosan", "name": "出光", "name:en": "Idemitsu Kosan"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/fuel/台灣中油": {"name": "台灣中油", "icon": "maki-fuel", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q21527177", "amenity": "fuel"}, "addTags": {"amenity": "fuel", "brand": "台灣中油", "brand:en": "CPC Corporation, Taiwan", "brand:wikidata": "Q21527177", "brand:wikipedia": "en:CPC Corporation, Taiwan", "name": "台灣中油", "name:en": "CPC Corporation, Taiwan"}, "countryCodes": ["tw"], "terms": ["中油"], "matchScore": 2, "suggestion": true}, "amenity/fuel/昭和シェル": {"name": "昭和シェル", "icon": "maki-fuel", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q277115", "amenity": "fuel"}, "addTags": {"amenity": "fuel", "brand": "昭和シェル", "brand:en": "Showa Shell Sekiyu", "brand:ja": "昭和シェル", "brand:wikidata": "Q277115", "brand:wikipedia": "en:Showa Shell Sekiyu", "name": "昭和シェル", "name:en": "Showa Shell Sekiyu", "name:ja": "昭和シェル"}, "countryCodes": ["jp"], "terms": ["昭和シェル石油"], "matchScore": 2, "suggestion": true}, - "amenity/hospital/VA Medical Center": {"name": "VA Medical Center", "icon": "maki-hospital", "imageURL": "https://graph.facebook.com/VeteransHealth/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q6580225", "amenity": "hospital"}, "addTags": {"amenity": "hospital", "brand": "VA", "brand:wikidata": "Q6580225", "brand:wikipedia": "en:Veterans Health Administration", "healthcare": "hospital", "healthcare:for": "veterans", "name": "VA Medical Center", "short_name": "VA"}, "reference": {"key": "amenity", "value": "hospital"}, "countryCodes": ["us"], "terms": ["department of veterans affairs medical center", "veterans administration", "veterans administration hospital", "veterans administration medical center", "veterans affairs", "veterans affairs hospital", "veterans affairs medical center"], "matchScore": 2, "suggestion": true}, + "amenity/hospital/VA Medical Center": {"name": "VA Medical Center", "icon": "maki-hospital", "imageURL": "https://graph.facebook.com/VeteransHealth/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q6580225", "amenity": "hospital"}, "addTags": {"amenity": "hospital", "brand": "VA", "brand:wikidata": "Q6580225", "brand:wikipedia": "en:Veterans Health Administration", "healthcare": "hospital", "healthcare:for": "veterans", "name": "VA Medical Center", "short_name": "VA"}, "reference": {"key": "amenity", "value": "hospital"}, "countryCodes": ["us"], "terms": ["department of veterans affairs medical center", "veterans administration", "veterans administration hospital", "veterans administration medical center", "veterans affairs", "veterans affairs hospital", "veterans affairs medical center"], "matchScore": 2, "suggestion": true}, "amenity/ice_cream/Baskin-Robbins": {"name": "Baskin-Robbins", "icon": "fas-ice-cream", "imageURL": "https://graph.facebook.com/baskinrobbinsUS/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q584601", "amenity": "ice_cream"}, "addTags": {"amenity": "ice_cream", "brand": "Baskin-Robbins", "brand:wikidata": "Q584601", "brand:wikipedia": "en:Baskin-Robbins", "cuisine": "ice_cream", "name": "Baskin-Robbins"}, "terms": [], "matchScore": 2, "suggestion": true}, "amenity/ice_cream/Ben & Jerry's": {"name": "Ben & Jerry's", "icon": "fas-ice-cream", "imageURL": "https://graph.facebook.com/BenandJerryAustralia/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q816412", "amenity": "ice_cream"}, "addTags": {"amenity": "ice_cream", "brand": "Ben & Jerry's", "brand:wikidata": "Q816412", "brand:wikipedia": "en:Ben & Jerry's", "cuisine": "ice_cream", "name": "Ben & Jerry's"}, "terms": [], "matchScore": 2, "suggestion": true}, "amenity/ice_cream/Bruster's Ice Cream": {"name": "Bruster's Ice Cream", "icon": "fas-ice-cream", "imageURL": "https://graph.facebook.com/BrustersRealIceCream/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q4979810", "amenity": "ice_cream"}, "addTags": {"amenity": "ice_cream", "brand": "Bruster's Ice Cream", "brand:wikidata": "Q4979810", "brand:wikipedia": "en:Bruster's Ice Cream", "cuisine": "ice_cream", "name": "Bruster's Ice Cream"}, "countryCodes": ["us"], "terms": ["brusters"], "matchScore": 2, "suggestion": true}, @@ -2593,15 +2593,15 @@ "amenity/ice_cream/Yogurtland": {"name": "Yogurtland", "icon": "fas-ice-cream", "imageURL": "https://graph.facebook.com/yogurtland/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q8054428", "amenity": "ice_cream"}, "addTags": {"amenity": "ice_cream", "brand": "Yogurtland", "brand:wikidata": "Q8054428", "brand:wikipedia": "en:Yogurtland", "cuisine": "frozen_yogurt", "name": "Yogurtland", "takeaway": "yes"}, "countryCodes": ["ae", "au", "sg", "th", "us", "ve"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/ice_cream/sweetFrog": {"name": "sweetFrog", "icon": "fas-ice-cream", "imageURL": "https://graph.facebook.com/sweetfrogfroyo/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q16952110", "amenity": "ice_cream"}, "addTags": {"amenity": "ice_cream", "brand": "sweetFrog", "brand:wikidata": "Q16952110", "brand:wikipedia": "en:Sweet Frog", "cuisine": "frozen_yogurt", "name": "sweetFrog"}, "countryCodes": ["us"], "terms": ["sweetfrog frozen yogurt", "sweetfrog premium frozen yogurt"], "matchScore": 2, "suggestion": true}, "amenity/ice_cream/サーティワンアイスクリーム": {"name": "サーティワンアイスクリーム", "icon": "fas-ice-cream", "imageURL": "https://graph.facebook.com/baskinrobbinsUS/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q584601", "amenity": "ice_cream"}, "addTags": {"amenity": "ice_cream", "brand": "バスキン・ロビンス", "brand:en": "Baskin-Robbins", "brand:ja": "バスキン・ロビンス", "brand:wikidata": "Q584601", "brand:wikipedia": "ja:バスキン・ロビンス", "cuisine": "ice_cream", "name": "サーティワンアイスクリーム", "name:en": "Baskin-Robbins", "name:ja": "サーティワンアイスクリーム"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/Children's Learning Adventure": {"name": "Children's Learning Adventure", "icon": "maki-school", "imageURL": "https://graph.facebook.com/Childrenslearningadventure/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64821213", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "amenity": "kindergarten", "brand": "Children's Learning Adventure", "brand:wikidata": "Q64821213", "brand:wikipedia": "en:Children's Learning Adventure", "fee": "yes", "isced:level": "0", "name": "Children's Learning Adventure", "nursery": "yes", "preschool": "yes", "short_name": "CLA"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/Childtime": {"name": "Childtime", "icon": "maki-school", "imageURL": "https://graph.facebook.com/Childtime/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64877793", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "Childtime", "brand:wikidata": "Q64877793", "fee": "yes", "isced:level": "0", "name": "Childtime", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["childtime learning center", "childtime learning centers"], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/KinderCare": {"name": "KinderCare", "icon": "maki-school", "imageURL": "https://graph.facebook.com/kindercare/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q6410551", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "alt_name": "KinderCare Learning Center", "amenity": "kindergarten", "brand": "KinderCare", "brand:wikidata": "Q6410551", "brand:wikipedia": "en:KinderCare Learning Centers", "fee": "yes", "isced:level": "0", "max_age": "12", "min_age": "6 weeks", "name": "KinderCare", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/La Petite Academy": {"name": "La Petite Academy", "icon": "maki-school", "imageURL": "https://graph.facebook.com/LaPetiteAcademy/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64877784", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "La Petite Academy", "brand:wikidata": "Q64877784", "fee": "yes", "isced:level": "0", "name": "La Petite Academy", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["la petite"], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/New Horizon Academy": {"name": "New Horizon Academy", "icon": "maki-school", "imageURL": "https://pbs.twimg.com/profile_images/778681004206592001/ZQF3Eurh_bigger.jpg", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64821306", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "amenity": "kindergarten", "brand": "New Horizon Academy", "brand:wikidata": "Q64821306", "fee": "yes", "isced:level": "0", "name": "New Horizon Academy", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/Primrose School": {"name": "Primrose School", "icon": "maki-school", "imageURL": "https://graph.facebook.com/PrimroseSchools/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q7243677", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "alt_name": "Primrose Schools", "amenity": "kindergarten", "brand": "Primrose School", "brand:wikidata": "Q7243677", "fee": "yes", "isced:level": "0", "max_age": "12", "min_age": "6 weeks", "name": "Primrose School", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["primrose"], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/The Children's Courtyard": {"name": "The Children's Courtyard", "icon": "maki-school", "imageURL": "https://graph.facebook.com/ChildrensCourtyard/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64877852", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "The Children's Courtyard", "brand:wikidata": "Q64877852", "fee": "yes", "isced:level": "0", "name": "The Children's Courtyard", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["children's courtyard"], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/The Goddard School": {"name": "The Goddard School", "icon": "maki-school", "imageURL": "https://graph.facebook.com/goddardschool/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q5576260", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "alt_name": "Goddard School", "amenity": "kindergarten", "brand": "The Goddard School", "brand:wikidata": "Q5576260", "fee": "yes", "isced:level": "0", "min_age": "6 weeks", "name": "The Goddard School", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/kindergarten/Tutor Time": {"name": "Tutor Time", "icon": "maki-school", "imageURL": "https://graph.facebook.com/TutorTime/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64877826", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "Tutor Time", "brand:wikidata": "Q64877826", "fee": "yes", "isced:level": "0", "name": "Tutor Time", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["tutor time child care", "tutor time child care learning center", "tutor time learning center", "tutor time learning centers"], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/Children's Learning Adventure": {"name": "Children's Learning Adventure", "icon": "maki-school", "imageURL": "https://graph.facebook.com/Childrenslearningadventure/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q64821213", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "amenity": "kindergarten", "brand": "Children's Learning Adventure", "brand:wikidata": "Q64821213", "brand:wikipedia": "en:Children's Learning Adventure", "fee": "yes", "isced:level": "0", "name": "Children's Learning Adventure", "nursery": "yes", "preschool": "yes", "short_name": "CLA"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/Childtime": {"name": "Childtime", "icon": "maki-school", "imageURL": "https://graph.facebook.com/Childtime/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q64877793", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "Childtime", "brand:wikidata": "Q64877793", "fee": "yes", "isced:level": "0", "name": "Childtime", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["childtime learning center", "childtime learning centers"], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/KinderCare": {"name": "KinderCare", "icon": "maki-school", "imageURL": "https://graph.facebook.com/kindercare/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q6410551", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "alt_name": "KinderCare Learning Center", "amenity": "kindergarten", "brand": "KinderCare", "brand:wikidata": "Q6410551", "brand:wikipedia": "en:KinderCare Learning Centers", "fee": "yes", "isced:level": "0", "max_age": "12", "min_age": "6 weeks", "name": "KinderCare", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/La Petite Academy": {"name": "La Petite Academy", "icon": "maki-school", "imageURL": "https://graph.facebook.com/LaPetiteAcademy/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q64877784", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "La Petite Academy", "brand:wikidata": "Q64877784", "fee": "yes", "isced:level": "0", "name": "La Petite Academy", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["la petite"], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/New Horizon Academy": {"name": "New Horizon Academy", "icon": "maki-school", "imageURL": "https://pbs.twimg.com/profile_images/778681004206592001/ZQF3Eurh_bigger.jpg", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q64821306", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "amenity": "kindergarten", "brand": "New Horizon Academy", "brand:wikidata": "Q64821306", "fee": "yes", "isced:level": "0", "name": "New Horizon Academy", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/Primrose School": {"name": "Primrose School", "icon": "maki-school", "imageURL": "https://graph.facebook.com/PrimroseSchools/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q7243677", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "alt_name": "Primrose Schools", "amenity": "kindergarten", "brand": "Primrose School", "brand:wikidata": "Q7243677", "fee": "yes", "isced:level": "0", "max_age": "12", "min_age": "6 weeks", "name": "Primrose School", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["primrose"], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/The Children's Courtyard": {"name": "The Children's Courtyard", "icon": "maki-school", "imageURL": "https://graph.facebook.com/ChildrensCourtyard/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q64877852", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "The Children's Courtyard", "brand:wikidata": "Q64877852", "fee": "yes", "isced:level": "0", "name": "The Children's Courtyard", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["children's courtyard"], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/The Goddard School": {"name": "The Goddard School", "icon": "maki-school", "imageURL": "https://graph.facebook.com/goddardschool/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q5576260", "amenity": "kindergarten"}, "addTags": {"after_school": "yes", "alt_name": "Goddard School", "amenity": "kindergarten", "brand": "The Goddard School", "brand:wikidata": "Q5576260", "fee": "yes", "isced:level": "0", "min_age": "6 weeks", "name": "The Goddard School", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/kindergarten/Tutor Time": {"name": "Tutor Time", "icon": "maki-school", "imageURL": "https://graph.facebook.com/TutorTime/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q64877826", "amenity": "kindergarten"}, "addTags": {"amenity": "kindergarten", "brand": "Tutor Time", "brand:wikidata": "Q64877826", "fee": "yes", "isced:level": "0", "name": "Tutor Time", "nursery": "yes", "preschool": "yes"}, "countryCodes": ["us"], "terms": ["tutor time child care", "tutor time child care learning center", "tutor time learning center", "tutor time learning centers"], "matchScore": 2, "suggestion": true}, "amenity/language_school/AEON": {"name": "AEON", "icon": "maki-school", "imageURL": "https://graph.facebook.com/AEONCorporation/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q4687898", "amenity": "language_school"}, "addTags": {"amenity": "language_school", "brand": "AEON", "brand:en": "Aeon", "brand:ja": "AEON", "brand:ja-Hira": "イーオン", "brand:ja-Latn": "AEON", "brand:wikidata": "Q4687898", "brand:wikipedia": "ja:イーオン", "language:en": "main", "name": "AEON", "name:en": "Aeon", "name:ja": "AEON", "name:ja-Hira": "イーオン", "name:ja-Latn": "AEON"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/language_school/Berlitz": {"name": "Berlitz", "icon": "maki-school", "imageURL": "https://graph.facebook.com/BerlitzUS/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q821960", "amenity": "language_school"}, "addTags": {"amenity": "language_school", "brand": "Berlitz", "brand:wikidata": "Q821960", "brand:wikipedia": "en:Berlitz Corporation", "name": "Berlitz"}, "terms": [], "matchScore": 2, "suggestion": true}, "amenity/language_school/ECC外語学院": {"name": "ECC外語学院", "icon": "maki-school", "imageURL": "https://graph.facebook.com/ecc.co.jp/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q5322655", "amenity": "language_school"}, "addTags": {"amenity": "language_school", "brand": "ECC外語学院", "brand:en": "ECC Foreign Language Institute", "brand:ja": "ECC外語学院", "brand:ja-Hira": "イーシーシーがいごがくいん", "brand:ja-Latn": "ECC Gaigo Gakuin", "brand:wikidata": "Q5322655", "brand:wikipedia": "ja:ECC総合教育機関", "language:en": "main", "name": "ECC外語学院", "name:en": "ECC Foreign Language Institute", "name:ja": "ECC外語学院", "name:ja-Hira": "イーシーシーがいごがくいん", "name:ja-Latn": "ECC Gaigo Gakuin", "short_name": "ECC", "short_name:en": "ECC", "short_name:ja": "ECC", "short_name:ja-Hira": "イーシーシー", "short_name:ja-Latn": "ECC"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, @@ -2618,8 +2618,8 @@ "amenity/money_transfer/MoneyGram": {"name": "MoneyGram", "icon": "maki-bank", "imageURL": "https://graph.facebook.com/moneygram/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q1944412", "amenity": "money_transfer"}, "addTags": {"amenity": "money_transfer", "brand": "MoneyGram", "brand:wikidata": "Q1944412", "brand:wikipedia": "en:MoneyGram", "name": "MoneyGram"}, "countryCodes": ["de", "fr", "gr"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/money_transfer/Orange Money": {"name": "Orange Money", "icon": "maki-bank", "imageURL": "https://graph.facebook.com/orange/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q16668220", "amenity": "money_transfer"}, "addTags": {"amenity": "money_transfer", "brand": "Orange Money", "brand:wikidata": "Q16668220", "brand:wikipedia": "en:Orange Money", "name": "Orange Money"}, "countryCodes": ["ml"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/money_transfer/Western Union": {"name": "Western Union", "icon": "maki-bank", "imageURL": "https://graph.facebook.com/WesternUnion/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q861042", "amenity": "money_transfer"}, "addTags": {"amenity": "money_transfer", "brand": "Western Union", "brand:wikidata": "Q861042", "brand:wikipedia": "en:Western Union", "name": "Western Union"}, "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/parking/Parking Company of America": {"name": "Parking Company of America", "icon": "maki-car", "imageURL": "https://graph.facebook.com/parkingcompanyofamerica/picture?type=large", "geometry": ["point", "vertex", "area"], "tags": {"brand:wikidata": "Q65491376", "amenity": "parking"}, "addTags": {"amenity": "parking", "brand": "Parking Company of America", "brand:wikidata": "Q65491376", "fee": "yes", "name": "Parking Company of America", "short_name": "PCA"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/parking/SP+": {"name": "SP+", "icon": "maki-car", "imageURL": "https://graph.facebook.com/sppluscorp/picture?type=large", "geometry": ["point", "vertex", "area"], "tags": {"brand:wikidata": "Q7598289", "amenity": "parking"}, "addTags": {"alt_name": "SP Plus", "amenity": "parking", "brand": "SP+", "brand:wikidata": "Q7598289", "brand:wikipedia": "en:SP Plus Corporation", "fee": "yes", "name": "SP+"}, "countryCodes": ["ca", "us"], "terms": ["central parking", "central parking system", "standard parking"], "matchScore": 2, "suggestion": true}, + "amenity/parking/Parking Company of America": {"name": "Parking Company of America", "icon": "maki-car", "imageURL": "https://graph.facebook.com/parkingcompanyofamerica/picture?type=large", "geometry": ["area", "point", "vertex"], "tags": {"brand:wikidata": "Q65491376", "amenity": "parking"}, "addTags": {"amenity": "parking", "brand": "Parking Company of America", "brand:wikidata": "Q65491376", "fee": "yes", "name": "Parking Company of America", "short_name": "PCA"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/parking/SP+": {"name": "SP+", "icon": "maki-car", "imageURL": "https://graph.facebook.com/sppluscorp/picture?type=large", "geometry": ["area", "point", "vertex"], "tags": {"brand:wikidata": "Q7598289", "amenity": "parking"}, "addTags": {"alt_name": "SP Plus", "amenity": "parking", "brand": "SP+", "brand:wikidata": "Q7598289", "brand:wikipedia": "en:SP Plus Corporation", "fee": "yes", "name": "SP+"}, "countryCodes": ["ca", "us"], "terms": ["central parking", "central parking system", "standard parking"], "matchScore": 2, "suggestion": true}, "amenity/payment_centre/Abitab": {"name": "Abitab", "icon": "maki-bank", "imageURL": "https://graph.facebook.com/Abitaboficial/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q16488129", "amenity": "payment_centre"}, "addTags": {"amenity": "payment_centre", "brand": "Abitab", "brand:wikidata": "Q16488129", "brand:wikipedia": "es:Abitab", "name": "Abitab"}, "countryCodes": ["uy"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/payment_centre/Rapipago": {"name": "Rapipago", "icon": "maki-bank", "imageURL": "https://graph.facebook.com/Rapipago/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q6100413", "amenity": "payment_centre"}, "addTags": {"amenity": "payment_centre", "brand": "Rapipago", "brand:wikidata": "Q6100413", "brand:wikipedia": "es:Rapipago", "name": "Rapipago"}, "countryCodes": ["ar"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/payment_terminal/Qiwi": {"name": "Qiwi", "icon": "far-credit-card", "imageURL": "https://graph.facebook.com/qiwirussia/picture?type=large", "geometry": ["point"], "tags": {"brand:wikidata": "Q4047736", "amenity": "payment_terminal"}, "addTags": {"amenity": "payment_terminal", "brand": "Qiwi", "brand:wikidata": "Q4047736", "brand:wikipedia": "en:Qiwi", "name": "Qiwi"}, "countryCodes": ["ru"], "terms": [], "matchScore": 2, "suggestion": true}, @@ -2997,9 +2997,9 @@ "amenity/restaurant/japanese/華屋与兵衛": {"name": "華屋与兵衛", "icon": "maki-restaurant-noodle", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q11620063", "amenity": "restaurant", "cuisine": "japanese"}, "addTags": {"amenity": "restaurant", "brand": "華屋与兵衛", "brand:en": "Hanaya Yohei", "brand:ja": "華屋与兵衛", "brand:wikidata": "Q11620063", "brand:wikipedia": "ja:華屋与兵衛 (レストラン)", "cuisine": "japanese", "name": "華屋与兵衛", "name:en": "Hanaya Yohei", "name:ja": "華屋与兵衛"}, "reference": {"key": "cuisine", "value": "japanese"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/restaurant/chinese/餃子の王将": {"name": "餃子の王将", "icon": "maki-restaurant-noodle", "imageURL": "https://graph.facebook.com/ohshosaiyo/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q11666805", "amenity": "restaurant", "cuisine": "chinese;gyoza"}, "addTags": {"amenity": "restaurant", "brand": "餃子の王将", "brand:en": "Gyoza no Ohsho", "brand:ja": "餃子の王将", "brand:wikidata": "Q11666805", "brand:wikipedia": "en:Gyoza no Ohsho", "cuisine": "chinese;gyoza", "name": "餃子の王将", "name:en": "Gyoza no Ohsho", "name:ja": "餃子の王将"}, "reference": {"key": "cuisine", "value": "chinese"}, "countryCodes": ["jp"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/restaurant/빕스": {"name": "빕스", "icon": "maki-restaurant", "imageURL": "https://graph.facebook.com/ivips/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q12599540", "amenity": "restaurant"}, "addTags": {"amenity": "restaurant", "brand": "빕스", "brand:en": "VIPS", "brand:ko": "빕스", "brand:wikidata": "Q12599540", "brand:wikipedia": "en:VIPS (restaurant)", "name": "빕스", "name:en": "VIPS", "name:ko": "빕스"}, "countryCodes": ["kr"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/school/Imagine Schools": {"name": "Imagine Schools", "icon": "maki-school", "imageURL": "https://pbs.twimg.com/profile_images/378800000441414844/d5dd1489ee04654b0efb3f99873bea51_bigger.jpeg", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q6002737", "amenity": "school"}, "addTags": {"amenity": "school", "brand": "Imagine Schools", "brand:wikidata": "Q6002737", "brand:wikipedia": "en:Imagine Schools", "name": "Imagine Schools", "operator:type": "private_non_profit"}, "countryCodes": ["us"], "terms": ["imagine", "imagine school"], "matchScore": 2, "suggestion": true}, - "amenity/school/KIPP": {"name": "KIPP", "icon": "maki-school", "imageURL": "https://graph.facebook.com/KIPPFoundation/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q6423304", "amenity": "school"}, "addTags": {"amenity": "school", "brand": "KIPP", "brand:wikidata": "Q6423304", "brand:wikipedia": "en:KIPP (organization)", "name": "KIPP", "official_name": "Knowledge Is Power Program", "operator:type": "private_non_profit"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/school/Success Academy": {"name": "Success Academy", "icon": "maki-school", "imageURL": "https://graph.facebook.com/SuccessAcademies/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q14707388", "amenity": "school"}, "addTags": {"amenity": "school", "brand": "Success Academy", "brand:wikidata": "Q14707388", "brand:wikipedia": "en:Success Academy Charter Schools", "name": "Success Academy", "operator:type": "private_non_profit"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/school/Imagine Schools": {"name": "Imagine Schools", "icon": "maki-school", "imageURL": "https://pbs.twimg.com/profile_images/378800000441414844/d5dd1489ee04654b0efb3f99873bea51_bigger.jpeg", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q6002737", "amenity": "school"}, "addTags": {"amenity": "school", "brand": "Imagine Schools", "brand:wikidata": "Q6002737", "brand:wikipedia": "en:Imagine Schools", "name": "Imagine Schools", "operator:type": "private_non_profit"}, "countryCodes": ["us"], "terms": ["imagine", "imagine school"], "matchScore": 2, "suggestion": true}, + "amenity/school/KIPP": {"name": "KIPP", "icon": "maki-school", "imageURL": "https://graph.facebook.com/KIPPFoundation/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q6423304", "amenity": "school"}, "addTags": {"amenity": "school", "brand": "KIPP", "brand:wikidata": "Q6423304", "brand:wikipedia": "en:KIPP (organization)", "name": "KIPP", "official_name": "Knowledge Is Power Program", "operator:type": "private_non_profit"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/school/Success Academy": {"name": "Success Academy", "icon": "maki-school", "imageURL": "https://graph.facebook.com/SuccessAcademies/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q14707388", "amenity": "school"}, "addTags": {"amenity": "school", "brand": "Success Academy", "brand:wikidata": "Q14707388", "brand:wikipedia": "en:Success Academy Charter Schools", "name": "Success Academy", "operator:type": "private_non_profit"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/social_centre/American Legion Hall": {"name": "American Legion Hall", "icon": "fas-handshake", "imageURL": "https://graph.facebook.com/americanlegionhq/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q468865", "amenity": "social_centre"}, "addTags": {"amenity": "social_centre", "brand": "American Legion", "brand:wikidata": "Q468865", "brand:wikipedia": "en:American Legion", "name": "American Legion Hall", "social_centre:for": "veterans"}, "countryCodes": ["us"], "terms": ["american legion"], "matchScore": 2, "suggestion": true}, "amenity/social_centre/Eagles Lodge": {"name": "Eagles Lodge", "icon": "fas-handshake", "imageURL": "https://graph.facebook.com/foegrandaerie/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q5493810", "amenity": "social_centre"}, "addTags": {"alt_name": "Aeries Lodge", "amenity": "social_centre", "brand": "Fraternal Order of Eagles", "brand:wikidata": "Q5493810", "brand:wikipedia": "en:Fraternal Order of Eagles", "name": "Eagles Lodge", "official_name": "Fraternal Order of Eagles"}, "countryCodes": ["us"], "terms": ["aeries", "eagles", "foe"], "matchScore": 2, "suggestion": true}, "amenity/social_centre/Elks Lodge": {"name": "Elks Lodge", "icon": "fas-handshake", "imageURL": "https://graph.facebook.com/107605905935671/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q2895789", "amenity": "social_centre"}, "addTags": {"amenity": "social_centre", "brand": "Benevolent and Protective Order of Elks", "brand:wikidata": "Q2895789", "brand:wikipedia": "en:Benevolent and Protective Order of Elks", "name": "Elks Lodge", "official_name": "Benevolent and Protective Order of Elks"}, "countryCodes": ["us"], "terms": ["bpoe", "elks"], "matchScore": 2, "suggestion": true}, @@ -3007,9 +3007,9 @@ "amenity/social_centre/Odd Fellows Hall": {"name": "Odd Fellows Hall", "icon": "fas-handshake", "imageURL": "https://graph.facebook.com/IOOFSGL/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q1425508", "amenity": "social_centre"}, "addTags": {"amenity": "social_centre", "brand": "Independent Order of Odd Fellows", "brand:wikidata": "Q1425508", "brand:wikipedia": "en:Independent Order of Odd Fellows", "name": "Odd Fellows Hall", "official_name": "Independent Order of Odd Fellows"}, "terms": ["ioof", "odd fellow", "odd fellows"], "matchScore": 2, "suggestion": true}, "amenity/social_centre/VFW Post": {"name": "VFW Post", "icon": "fas-handshake", "imageURL": "https://graph.facebook.com/VFWFans/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q3556413", "amenity": "social_centre"}, "addTags": {"amenity": "social_centre", "brand": "Veterans of Foreign Wars of the United States", "brand:wikidata": "Q3556413", "brand:wikipedia": "en:Veterans of Foreign Wars", "name": "VFW Post", "name:en": "VFW Post", "official_name": "Veterans of Foreign Wars of the United States", "social_centre:for": "veterans"}, "countryCodes": ["de", "jp", "kr", "ph", "th", "us"], "terms": ["vfw"], "matchScore": 2, "suggestion": true}, "amenity/social_facility/Vet Center": {"name": "Vet Center", "icon": "temaki-social_facility", "imageURL": "https://graph.facebook.com/VeteransHealth/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q6580225", "amenity": "social_facility"}, "addTags": {"amenity": "social_facility", "brand": "VA", "brand:wikidata": "Q6580225", "brand:wikipedia": "en:Veterans Health Administration", "healthcare": "counselling", "healthcare:counselling": "psychiatry", "healthcare:for": "veterans", "name": "Vet Center", "social_facility": "healthcare;outreach", "social_facility:for": "veterans"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/university/DeVry University": {"name": "DeVry University", "icon": "maki-college", "imageURL": "https://graph.facebook.com/DEVRYUNIVERSITY/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q3298441", "amenity": "university"}, "addTags": {"amenity": "university", "brand": "DeVry University", "brand:wikidata": "Q3298441", "brand:wikipedia": "en:DeVry University", "name": "DeVry University", "short_name": "DeVry"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/university/Strayer University": {"name": "Strayer University", "icon": "maki-college", "imageURL": "https://graph.facebook.com/StrayerUniversity/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q7622587", "amenity": "university"}, "addTags": {"amenity": "university", "brand": "Strayer University", "brand:wikidata": "Q7622587", "brand:wikipedia": "en:Strayer University", "name": "Strayer University", "short_name": "Strayer"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, - "amenity/university/University of Phoenix": {"name": "University of Phoenix", "icon": "maki-college", "imageURL": "https://graph.facebook.com/universityofphoenix/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q1889100", "amenity": "university"}, "addTags": {"amenity": "university", "brand": "University of Phoenix", "brand:wikidata": "Q1889100", "brand:wikipedia": "en:University of Phoenix", "name": "University of Phoenix", "short_name": "UOPX"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/university/DeVry University": {"name": "DeVry University", "icon": "maki-college", "imageURL": "https://graph.facebook.com/DEVRYUNIVERSITY/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q3298441", "amenity": "university"}, "addTags": {"amenity": "university", "brand": "DeVry University", "brand:wikidata": "Q3298441", "brand:wikipedia": "en:DeVry University", "name": "DeVry University", "short_name": "DeVry"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/university/Strayer University": {"name": "Strayer University", "icon": "maki-college", "imageURL": "https://graph.facebook.com/StrayerUniversity/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q7622587", "amenity": "university"}, "addTags": {"amenity": "university", "brand": "Strayer University", "brand:wikidata": "Q7622587", "brand:wikipedia": "en:Strayer University", "name": "Strayer University", "short_name": "Strayer"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, + "amenity/university/University of Phoenix": {"name": "University of Phoenix", "icon": "maki-college", "imageURL": "https://graph.facebook.com/universityofphoenix/picture?type=large", "geometry": ["area", "point"], "tags": {"brand:wikidata": "Q1889100", "amenity": "university"}, "addTags": {"amenity": "university", "brand": "University of Phoenix", "brand:wikidata": "Q1889100", "brand:wikipedia": "en:University of Phoenix", "name": "University of Phoenix", "short_name": "UOPX"}, "countryCodes": ["us"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/vehicle_inspection/Autosur": {"name": "Autosur", "icon": "maki-car", "imageURL": "https://graph.facebook.com/autosurfrance/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64224807", "amenity": "vehicle_inspection"}, "addTags": {"amenity": "vehicle_inspection", "brand": "Autosur", "brand:wikidata": "Q64224807", "name": "Autosur"}, "countryCodes": ["fr"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/vehicle_inspection/Autovision": {"name": "Autovision", "icon": "maki-car", "imageURL": "https://graph.facebook.com/AutovisionFrance/picture?type=large", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q64224842", "amenity": "vehicle_inspection"}, "addTags": {"amenity": "vehicle_inspection", "brand": "Autovision", "brand:wikidata": "Q64224842", "name": "Autovision"}, "countryCodes": ["fr"], "terms": [], "matchScore": 2, "suggestion": true}, "amenity/vehicle_inspection/Dekra": {"name": "Dekra", "icon": "maki-car", "imageURL": "https://pbs.twimg.com/profile_images/3238634623/8ccb79c10c4bfb652432961fe776c6c3_bigger.jpeg", "geometry": ["point", "area"], "tags": {"brand:wikidata": "Q383711", "amenity": "vehicle_inspection"}, "addTags": {"amenity": "vehicle_inspection", "brand": "Dekra", "brand:wikidata": "Q383711", "brand:wikipedia": "en:Dekra", "name": "Dekra", "official_name": "Dekra Automotive"}, "countryCodes": ["de", "fr"], "terms": [], "matchScore": 2, "suggestion": true}, diff --git a/data/presets/presets/amenity/college.json b/data/presets/presets/amenity/college.json index 7d7884509d..bb471f379f 100644 --- a/data/presets/presets/amenity/college.json +++ b/data/presets/presets/amenity/college.json @@ -19,8 +19,8 @@ "wheelchair" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "university", diff --git a/data/presets/presets/amenity/crematorium.json b/data/presets/presets/amenity/crematorium.json index fad2136050..7d77558a00 100644 --- a/data/presets/presets/amenity/crematorium.json +++ b/data/presets/presets/amenity/crematorium.json @@ -16,8 +16,8 @@ "wheelchair" ], "geometry": [ - "area", - "point" + "point", + "area" ], "tags": { "amenity": "crematorium" diff --git a/data/presets/presets/amenity/hospital.json b/data/presets/presets/amenity/hospital.json index ff219e0f0a..75f7f773f2 100644 --- a/data/presets/presets/amenity/hospital.json +++ b/data/presets/presets/amenity/hospital.json @@ -19,8 +19,8 @@ "wheelchair" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "clinic", diff --git a/data/presets/presets/amenity/kindergarten.json b/data/presets/presets/amenity/kindergarten.json index 9daaa426d9..a3937bc5fb 100644 --- a/data/presets/presets/amenity/kindergarten.json +++ b/data/presets/presets/amenity/kindergarten.json @@ -16,8 +16,8 @@ "wheelchair" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "kindergarden", diff --git a/data/presets/presets/amenity/monastery.json b/data/presets/presets/amenity/monastery.json index a6592a4626..f068938afa 100644 --- a/data/presets/presets/amenity/monastery.json +++ b/data/presets/presets/amenity/monastery.json @@ -15,8 +15,8 @@ "wheelchair" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "abbey", diff --git a/data/presets/presets/amenity/parking.json b/data/presets/presets/amenity/parking.json index 97a56b66ce..2fe8ee4ba6 100644 --- a/data/presets/presets/amenity/parking.json +++ b/data/presets/presets/amenity/parking.json @@ -27,9 +27,9 @@ "wheelchair" ], "geometry": [ + "area", "point", - "vertex", - "area" + "vertex" ], "tags": { "amenity": "parking" diff --git a/data/presets/presets/amenity/parking/park_ride.json b/data/presets/presets/amenity/parking/park_ride.json index bdc28aee81..78010cf0b9 100644 --- a/data/presets/presets/amenity/parking/park_ride.json +++ b/data/presets/presets/amenity/parking/park_ride.json @@ -1,9 +1,9 @@ { "icon": "maki-car", "geometry": [ + "area", "point", - "vertex", - "area" + "vertex" ], "tags": { "amenity": "parking", diff --git a/data/presets/presets/amenity/parking/underground.json b/data/presets/presets/amenity/parking/underground.json index f1225da394..23804cace5 100644 --- a/data/presets/presets/amenity/parking/underground.json +++ b/data/presets/presets/amenity/parking/underground.json @@ -5,9 +5,9 @@ "layer" ], "geometry": [ + "area", "point", - "vertex", - "area" + "vertex" ], "tags": { "amenity": "parking", diff --git a/data/presets/presets/amenity/parking_space.json b/data/presets/presets/amenity/parking_space.json index 8864202c43..49346d5dd5 100644 --- a/data/presets/presets/amenity/parking_space.json +++ b/data/presets/presets/amenity/parking_space.json @@ -3,9 +3,9 @@ "capacity" ], "geometry": [ + "area", "point", - "vertex", - "area" + "vertex" ], "terms": [], "tags": { diff --git a/data/presets/presets/amenity/prison.json b/data/presets/presets/amenity/prison.json index 20ff3f8715..06567fe12c 100644 --- a/data/presets/presets/amenity/prison.json +++ b/data/presets/presets/amenity/prison.json @@ -14,8 +14,8 @@ "wheelchair" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "cell", diff --git a/data/presets/presets/amenity/school.json b/data/presets/presets/amenity/school.json index 3916ecc44e..19895cb539 100644 --- a/data/presets/presets/amenity/school.json +++ b/data/presets/presets/amenity/school.json @@ -21,8 +21,8 @@ "wheelchair" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "academy", diff --git a/data/presets/presets/amenity/university.json b/data/presets/presets/amenity/university.json index e79f7caf03..4b71ffdfbd 100644 --- a/data/presets/presets/amenity/university.json +++ b/data/presets/presets/amenity/university.json @@ -7,8 +7,8 @@ "{amenity/college}" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "college", diff --git a/data/presets/presets/amenity/water_point.json b/data/presets/presets/amenity/water_point.json index 9e1efbd289..ee71f0da90 100644 --- a/data/presets/presets/amenity/water_point.json +++ b/data/presets/presets/amenity/water_point.json @@ -8,9 +8,9 @@ "opening_hours" ], "geometry": [ - "area", + "point", "vertex", - "point" + "area" ], "tags": { "amenity": "water_point" diff --git a/data/presets/presets/amenity/watering_place.json b/data/presets/presets/amenity/watering_place.json index 0f0b829837..b285cb521b 100644 --- a/data/presets/presets/amenity/watering_place.json +++ b/data/presets/presets/amenity/watering_place.json @@ -8,9 +8,9 @@ "opening_hours" ], "geometry": [ - "area", + "point", "vertex", - "point" + "area" ], "tags": { "amenity": "watering_place" diff --git a/data/presets/presets/leisure/park.json b/data/presets/presets/leisure/park.json index bcd5da096d..aaa299fb63 100644 --- a/data/presets/presets/leisure/park.json +++ b/data/presets/presets/leisure/park.json @@ -15,8 +15,8 @@ "fax" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "esplanade", diff --git a/data/presets/presets/leisure/swimming_pool.json b/data/presets/presets/leisure/swimming_pool.json index 35cc577e53..88f3032338 100644 --- a/data/presets/presets/leisure/swimming_pool.json +++ b/data/presets/presets/leisure/swimming_pool.json @@ -14,8 +14,8 @@ "operator" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "dive", diff --git a/data/presets/presets/man_made/storage_tank.json b/data/presets/presets/man_made/storage_tank.json index 03b92641cf..3979df3749 100644 --- a/data/presets/presets/man_made/storage_tank.json +++ b/data/presets/presets/man_made/storage_tank.json @@ -14,8 +14,8 @@ "manufacturer" ], "geometry": [ - "point", - "area" + "area", + "point" ], "terms": [ "water", diff --git a/data/presets/presets/man_made/water_tower.json b/data/presets/presets/man_made/water_tower.json index 225e3b2544..b9d6fa7805 100644 --- a/data/presets/presets/man_made/water_tower.json +++ b/data/presets/presets/man_made/water_tower.json @@ -5,8 +5,8 @@ "height" ], "geometry": [ - "point", - "area" + "area", + "point" ], "tags": { "man_made": "water_tower" diff --git a/data/presets/presets/natural/reef.json b/data/presets/presets/natural/reef.json index 96f3de1cf9..edaa396291 100644 --- a/data/presets/presets/natural/reef.json +++ b/data/presets/presets/natural/reef.json @@ -1,8 +1,8 @@ { "icon": "temaki-beach", "geometry": [ - "point", - "area" + "area", + "point" ], "tags": { "natural": "reef" diff --git a/data/presets/presets/natural/wood.json b/data/presets/presets/natural/wood.json index d06f00f9ba..c888469662 100644 --- a/data/presets/presets/natural/wood.json +++ b/data/presets/presets/natural/wood.json @@ -6,8 +6,8 @@ "leaf_cycle" ], "geometry": [ - "point", - "area" + "area", + "point" ], "tags": { "natural": "wood" diff --git a/data/presets/presets/waterway/water_point.json b/data/presets/presets/waterway/water_point.json index effdd291f3..15a249125f 100644 --- a/data/presets/presets/waterway/water_point.json +++ b/data/presets/presets/waterway/water_point.json @@ -1,9 +1,9 @@ { "icon": "maki-drinking-water", "geometry": [ - "area", - "vertex", - "point" + "point", + "vertex", + "area" ], "tags": { "waterway": "water_point" diff --git a/data/taginfo.json b/data/taginfo.json index a1955c66b5..18cb599ca0 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -98,12 +98,12 @@ {"key": "healthcare:speciality", "value": "fertility", "description": "🄿 Fertility Clinic", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/hospital-15.svg"}, {"key": "amenity", "value": "clock", "description": "🄿 Clock", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/clock.svg"}, {"key": "display", "value": "sundial", "description": "🄿 Sundial", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/clock.svg"}, - {"key": "amenity", "value": "college", "description": "🄿 College Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/college-15.svg"}, + {"key": "amenity", "value": "college", "description": "🄿 College Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/college-15.svg"}, {"key": "amenity", "value": "community_centre", "description": "🄿 Community Center", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/town-hall-15.svg"}, {"key": "amenity", "value": "compressed_air", "description": "🄿 Compressed Air", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, {"key": "amenity", "value": "conference_centre", "description": "🄿 Convention Center", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-user-tie.svg"}, {"key": "amenity", "value": "courthouse", "description": "🄿 Courthouse", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-gavel.svg"}, - {"key": "amenity", "value": "crematorium", "description": "🄿 Crematorium", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/cemetery-15.svg"}, + {"key": "amenity", "value": "crematorium", "description": "🄿 Crematorium", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/cemetery-15.svg"}, {"key": "amenity", "value": "dentist", "description": "🄿 Dentist", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/dentist-15.svg"}, {"key": "amenity", "value": "dive_centre", "description": "🄿 Dive Center", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/scuba_diving.svg"}, {"key": "amenity", "value": "doctors", "description": "🄿 Doctor", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/doctor-15.svg"}, @@ -128,28 +128,28 @@ {"key": "amenity", "value": "fuel", "description": "🄿 Gas Station", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/fuel-15.svg"}, {"key": "amenity", "value": "grave_yard", "description": "🄿 Graveyard", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/cemetery-15.svg"}, {"key": "amenity", "value": "grit_bin", "description": "🄿 Grit Bin", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-box.svg"}, - {"key": "amenity", "value": "hospital", "description": "🄿 Hospital Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/hospital-15.svg"}, + {"key": "amenity", "value": "hospital", "description": "🄿 Hospital Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/hospital-15.svg"}, {"key": "amenity", "value": "hunting_stand", "description": "🄿 Hunting Stand", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/binoculars.svg"}, {"key": "amenity", "value": "ice_cream", "description": "🄿 Ice Cream Shop", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-ice-cream.svg"}, {"key": "amenity", "value": "internet_cafe", "description": "🄿 Internet Cafe", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/antenna.svg"}, {"key": "amenity", "value": "karaoke_box", "description": "🄿 Karaoke Box", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/karaoke-15.svg"}, - {"key": "amenity", "value": "kindergarten", "description": "🄿 Preschool/Kindergarten Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/school-15.svg"}, + {"key": "amenity", "value": "kindergarten", "description": "🄿 Preschool/Kindergarten Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/school-15.svg"}, {"key": "amenity", "value": "language_school", "description": "🄿 Language School", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/school-15.svg"}, {"key": "amenity", "value": "letter_box", "description": "🄿 Letter Box", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/letter_box.svg"}, {"key": "amenity", "value": "library", "description": "🄿 Library", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/library-15.svg"}, {"key": "amenity", "value": "love_hotel", "description": "🄿 Love Hotel", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/heart-15.svg"}, {"key": "amenity", "value": "marketplace", "description": "🄿 Marketplace", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/shop-15.svg"}, - {"key": "amenity", "value": "monastery", "description": "🄿 Monastery Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/place-of-worship-15.svg"}, + {"key": "amenity", "value": "monastery", "description": "🄿 Monastery Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/place-of-worship-15.svg"}, {"key": "amenity", "value": "money_transfer", "description": "🄿 Money Transfer Station", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/bank-15.svg"}, {"key": "amenity", "value": "motorcycle_parking", "description": "🄿 Motorcycle Parking", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-motorcycle.svg"}, {"key": "amenity", "value": "music_school", "description": "🄿 Music School", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/school-15.svg"}, {"key": "amenity", "value": "nightclub", "description": "🄿 Nightclub", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/bar-15.svg"}, {"key": "amenity", "value": "parking_entrance", "description": "🄿 Parking Garage Entrance/Exit", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/entrance-alt1-15.svg"}, - {"key": "amenity", "value": "parking_space", "description": "🄿 Parking Space", "object_types": ["node", "area"]}, - {"key": "amenity", "value": "parking", "description": "🄿 Parking Lot", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, + {"key": "amenity", "value": "parking_space", "description": "🄿 Parking Space", "object_types": ["area", "node"]}, + {"key": "amenity", "value": "parking", "description": "🄿 Parking Lot", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, {"key": "parking", "value": "multi-storey", "description": "🄿 Multilevel Parking Garage, 🄵 Type", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, - {"key": "park_ride", "value": "yes", "description": "🄿 Park & Ride Lot", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, - {"key": "parking", "value": "underground", "description": "🄿 Underground Parking, 🄵 Type", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, + {"key": "park_ride", "value": "yes", "description": "🄿 Park & Ride Lot", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, + {"key": "parking", "value": "underground", "description": "🄿 Underground Parking, 🄵 Type", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, {"key": "amenity", "value": "payment_centre", "description": "🄿 Payment Center", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/bank-15.svg"}, {"key": "amenity", "value": "payment_terminal", "description": "🄿 Payment Terminal", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/far-credit-card.svg"}, {"key": "amenity", "value": "pharmacy", "description": "🄿 Pharmacy Counter", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/pharmacy-15.svg"}, @@ -172,7 +172,7 @@ {"key": "amenity", "value": "post_box", "description": "🄿 Mailbox", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/post_box.svg"}, {"key": "amenity", "value": "post_office", "description": "🄿 Post Office", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/post-15.svg"}, {"key": "amenity", "value": "prep_school", "description": "🄿 Test Prep / Tutoring School", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/school.svg"}, - {"key": "amenity", "value": "prison", "description": "🄿 Prison Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/prison-15.svg"}, + {"key": "amenity", "value": "prison", "description": "🄿 Prison Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/prison-15.svg"}, {"key": "amenity", "value": "pub", "description": "🄿 Pub", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/beer-15.svg"}, {"key": "microbrewery", "value": "yes", "description": "🄿 Brewpub", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/beer-15.svg"}, {"key": "amenity", "value": "public_bath", "description": "🄿 Public Bath", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, @@ -198,7 +198,7 @@ {"key": "cuisine", "value": "turkish", "description": "🄿 Turkish Restaurant", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/restaurant-15.svg"}, {"key": "cuisine", "value": "vietnamese", "description": "🄿 Vietnamese Restaurant", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/restaurant-noodle-15.svg"}, {"key": "amenity", "value": "sanitary_dump_station", "description": "🄿 RV Toilet Disposal", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/storage_tank.svg"}, - {"key": "amenity", "value": "school", "description": "🄿 School Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/school-15.svg"}, + {"key": "amenity", "value": "school", "description": "🄿 School Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/school-15.svg"}, {"key": "amenity", "value": "shelter", "description": "🄿 Shelter", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/shelter-15.svg"}, {"key": "shelter_type", "value": "gazebo", "description": "🄿 Gazebo", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/shelter-15.svg"}, {"key": "shelter_type", "value": "lean_to", "description": "🄿 Lean-To", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/shelter-15.svg"}, @@ -222,7 +222,7 @@ {"key": "toilets:disposal", "value": "pitlatrine", "description": "🄿 Pit Latrine, 🄵 Disposal", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/the-noun-project/2009541.svg"}, {"key": "amenity", "value": "townhall", "description": "🄿 Town Hall", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/town-hall-15.svg"}, {"key": "amenity", "value": "toy_library", "description": "🄿 Toy Library", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-chess-knight.svg"}, - {"key": "amenity", "value": "university", "description": "🄿 University Grounds", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/college-15.svg"}, + {"key": "amenity", "value": "university", "description": "🄿 University Grounds", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/college-15.svg"}, {"key": "amenity", "value": "vehicle_inspection", "description": "🄿 Vehicle Inspection", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/car-15.svg"}, {"key": "amenity", "value": "vending_machine", "description": "🄿 Vending Machine", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/vending_machine.svg"}, {"key": "vending", "value": "bottle_return", "description": "🄿 Bottle Return Machine", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/vending_machine.svg"}, @@ -249,8 +249,8 @@ {"key": "amenity", "value": "waste_disposal", "description": "🄿 Garbage Dumpster", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-dumpster.svg"}, {"key": "amenity", "value": "waste_transfer_station", "description": "🄿 Waste Transfer Station", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/waste-basket-15.svg"}, {"key": "waste", "value": "dog_excrement", "description": "🄿 Dog Excrement Bin", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/waste-basket-15.svg"}, - {"key": "amenity", "value": "water_point", "description": "🄿 RV Drinking Water", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/drinking-water-15.svg"}, - {"key": "amenity", "value": "watering_place", "description": "🄿 Animal Watering Place", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/drinking-water-15.svg"}, + {"key": "amenity", "value": "water_point", "description": "🄿 RV Drinking Water", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/drinking-water-15.svg"}, + {"key": "amenity", "value": "watering_place", "description": "🄿 Animal Watering Place", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/drinking-water-15.svg"}, {"key": "area", "value": "yes", "description": "🄿 Area, 🄿 Pedestrian Area", "object_types": ["area"]}, {"key": "area:highway", "description": "🄿 Road Surface, 🄵 Type", "object_types": ["area"]}, {"key": "attraction", "value": "amusement_ride", "description": "🄿 Amusement Ride", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/amusement-park-15.svg"}, @@ -620,7 +620,7 @@ {"key": "leisure", "value": "miniature_golf", "description": "🄿 Miniature Golf", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/golf-15.svg"}, {"key": "leisure", "value": "nature_reserve", "description": "🄿 Nature Reserve", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/park-15.svg"}, {"key": "leisure", "value": "outdoor_seating", "description": "🄿 Outdoor Seating Area", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/picnic-site-15.svg"}, - {"key": "leisure", "value": "park", "description": "🄿 Park", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/park-15.svg"}, + {"key": "leisure", "value": "park", "description": "🄿 Park", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/park-15.svg"}, {"key": "leisure", "value": "picnic_table", "description": "🄿 Picnic Table", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/picnic-site-15.svg"}, {"key": "sport", "value": "chess", "description": "🄿 Chess Table", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-chess-pawn.svg"}, {"key": "leisure", "value": "pitch", "description": "🄿 Sport Pitch", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/pitch-15.svg"}, @@ -655,7 +655,7 @@ {"key": "sport", "value": "swimming", "description": "🄿 Swimming Pool Facility", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-swimmer.svg"}, {"key": "leisure", "value": "stadium", "description": "🄿 Stadium", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/pitch-15.svg"}, {"key": "leisure", "value": "swimming_area", "description": "🄿 Natural Swimming Area", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-swimmer.svg"}, - {"key": "leisure", "value": "swimming_pool", "description": "🄿 Swimming Pool", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-swimming-pool.svg"}, + {"key": "leisure", "value": "swimming_pool", "description": "🄿 Swimming Pool", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-swimming-pool.svg"}, {"key": "leisure", "value": "track", "description": "🄿 Racetrack (Non-Motorsport)", "object_types": ["node", "way", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/iD-sprite/presets/other-line.svg"}, {"key": "sport", "value": "cycling", "description": "🄿 Cycling Track", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/bicycle-15.svg"}, {"key": "sport", "value": "horse_racing", "description": "🄿 Horse Racing Track", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/horse-riding-15.svg"}, @@ -696,7 +696,7 @@ {"key": "pipeline", "value": "valve", "description": "🄿 Pipeline Valve", "object_types": ["node"]}, {"key": "man_made", "value": "pumping_station", "description": "🄿 Pumping Station", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, {"key": "man_made", "value": "silo", "description": "🄿 Silo", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/silo.svg"}, - {"key": "man_made", "value": "storage_tank", "description": "🄿 Storage Tank", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/storage_tank.svg"}, + {"key": "man_made", "value": "storage_tank", "description": "🄿 Storage Tank", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/storage_tank.svg"}, {"key": "content", "value": "water", "description": "🄿 Water Tank", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/storage_tank.svg"}, {"key": "man_made", "value": "street_cabinet", "description": "🄿 Street Cabinet", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/fontawesome/fas-door-closed.svg"}, {"key": "man_made", "value": "surveillance", "description": "🄿 Surveillance", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/security_camera.svg"}, @@ -710,7 +710,7 @@ {"key": "tower:type", "value": "observation", "description": "🄿 Observation Tower", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/tower.svg"}, {"key": "man_made", "value": "tunnel", "description": "🄿 Tunnel", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/the-noun-project/2009642.svg"}, {"key": "man_made", "value": "wastewater_plant", "description": "🄿 Wastewater Plant", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, - {"key": "man_made", "value": "water_tower", "description": "🄿 Water Tower", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, + {"key": "man_made", "value": "water_tower", "description": "🄿 Water Tower", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, {"key": "man_made", "value": "water_well", "description": "🄿 Water Well", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, {"key": "man_made", "value": "water_works", "description": "🄿 Water Works", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, {"key": "man_made", "value": "watermill", "description": "🄿 Watermill", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/watermill-15.svg"}, @@ -737,7 +737,7 @@ {"key": "natural", "value": "heath", "description": "🄿 Heath", "object_types": ["area"]}, {"key": "natural", "value": "mud", "description": "🄿 Mud", "object_types": ["area"]}, {"key": "natural", "value": "peak", "description": "🄿 Peak", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/mountain-15.svg"}, - {"key": "natural", "value": "reef", "description": "🄿 Reef", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/beach.svg"}, + {"key": "natural", "value": "reef", "description": "🄿 Reef", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/beach.svg"}, {"key": "natural", "value": "ridge", "description": "🄿 Ridge", "object_types": ["way"]}, {"key": "natural", "value": "rock", "description": "🄿 Attached Rock / Boulder", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/boulder2.svg"}, {"key": "natural", "value": "saddle", "description": "🄿 Saddle", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/triangle-stroked-15.svg"}, @@ -760,7 +760,7 @@ {"key": "water", "value": "stream", "description": "🄿 Stream", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/iD-sprite/presets/waterway-stream.svg"}, {"key": "water", "value": "wastewater", "description": "🄿 Wastewater Basin", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/water-15.svg"}, {"key": "natural", "value": "wetland", "description": "🄿 Wetland", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/wetland-15.svg"}, - {"key": "natural", "value": "wood", "description": "🄿 Wood", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/park-alt1-15.svg"}, + {"key": "natural", "value": "wood", "description": "🄿 Wood", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/park-alt1-15.svg"}, {"key": "noexit", "value": "yes", "description": "🄿 No Exit", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/barrier-15.svg"}, {"key": "office", "description": "🄿 Office, 🄵 Type", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/suitcase-15.svg"}, {"key": "office", "value": "administrative", "description": "🄿 Administrative Office (unsearchable), 🄳 ➜ office=government", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/suitcase-15.svg"}, @@ -1158,7 +1158,7 @@ {"key": "waterway", "value": "sanitary_dump_station", "description": "🄿 Marine Toilet Disposal", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/storage_tank.svg"}, {"key": "intermittent", "value": "yes", "description": "🄿 Intermittent Stream", "object_types": ["way"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/iD-sprite/presets/waterway-stream.svg"}, {"key": "waterway", "value": "stream", "description": "🄿 Stream", "object_types": ["way"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD/svg/iD-sprite/presets/waterway-stream.svg"}, - {"key": "waterway", "value": "water_point", "description": "🄿 Marine Drinking Water", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/drinking-water-15.svg"}, + {"key": "waterway", "value": "water_point", "description": "🄿 Marine Drinking Water", "object_types": ["node", "area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/drinking-water-15.svg"}, {"key": "waterway", "value": "waterfall", "description": "🄿 Waterfall", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/waterfall-15.svg"}, {"key": "waterway", "value": "weir", "description": "🄿 Weir", "object_types": ["node", "way"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/dam-15.svg"}, {"key": "access", "description": "🄵 Allowed Access"}, diff --git a/data/territory-languages.json b/data/territory-languages.json index 918445e7d2..b597e5020e 100644 --- a/data/territory-languages.json +++ b/data/territory-languages.json @@ -47,7 +47,7 @@ "ci": ["fr", "bci", "sef", "dnj", "kfo", "bqv"], "ck": ["en"], "cl": ["es", "en", "arn"], - "cm": ["fr", "en", "bum", "ff", "ewo", "ybb", "nnh", "bbj", "bkm", "bax", "bas", "byv", "mua", "maf", "bfd", "bss", "kkj", "dua", "mgo", "ar", "jgo", "ksf", "agq", "ha-Arab", "nmg", "yav", "ff-Adlm"], + "cm": ["fr", "en", "bum", "ff", "ewo", "ybb", "bbj", "nnh", "bkm", "bas", "bax", "byv", "mua", "maf", "bfd", "bss", "kkj", "dua", "mgo", "ar", "jgo", "ksf", "agq", "ha-Arab", "nmg", "yav", "ff-Adlm"], "cn": ["zh", "wuu", "yue-Hans", "hsn", "hak", "nan", "gan", "ii", "ug", "za", "mn-Mong", "bo", "ko", "kk-Arab", "lis", "ky-Arab", "nxq", "khb", "tdd", "lcp", "en", "ru", "vi", "uz-Cyrl", "lzh"], "co": ["es", "guc"], "cp": ["und"], @@ -58,7 +58,7 @@ "cx": ["en"], "cy": ["el", "en", "tr", "fr", "hy", "ar"], "cz": ["cs", "en", "sk", "de", "pl"], - "de": ["de", "en", "fr", "bar", "nds", "nl", "it", "vmf", "ru", "es", "tr", "gsw", "da", "swg", "hr", "ku", "el", "ksh", "pl", "hsb", "frr", "dsb", "frs", "stq", "pfl"], + "de": ["de", "en", "fr", "bar", "nds", "nl", "it", "es", "ru", "vmf", "tr", "gsw", "da", "swg", "hr", "ku", "el", "ksh", "pl", "hsb", "frr", "dsb", "frs", "stq", "pfl"], "dg": ["en"], "dj": ["aa", "so", "ar", "fr"], "dk": ["da", "en", "de", "sv", "fo", "kl", "jut"], @@ -78,7 +78,7 @@ "fk": ["en"], "fm": ["en", "chk", "pon", "kos", "yap", "uli"], "fo": ["fo"], - "fr": ["fr", "en", "es", "de", "oc", "it", "pt", "pcd", "gsw", "br", "co", "ca", "nl", "eu", "frp", "ia"], + "fr": ["fr", "en", "es", "de", "oc", "it", "pt", "pcd", "gsw", "br", "co", "ca", "eu", "nl", "frp", "ia"], "ga": ["fr", "puu"], "gb": ["en", "fr", "de", "sco", "pa", "cy", "bn", "zh-Hant", "syl", "el", "it", "ks", "gd", "yi", "ml", "ga", "kw"], "gd": ["en"], @@ -105,14 +105,14 @@ "ht": ["ht", "fr"], "hu": ["hu", "en", "de", "fr", "ro", "hr", "sk", "sl"], "ic": ["es"], - "id": ["id", "jv", "su", "mad", "ms-Arab", "min", "bew", "ban", "bug", "bjn", "ace", "sas", "zh-Hant", "bbc", "mak", "ljp", "rej", "gor", "nij", "kge", "aoz", "kvr", "lbw", "gay", "rob", "mdr", "sxn", "sly", "mwv"], + "id": ["id", "jv", "su", "mad", "ms-Arab", "min", "bew", "ban", "bug", "bjn", "ace", "sas", "bbc", "zh-Hant", "mak", "ljp", "rej", "gor", "nij", "kge", "aoz", "kvr", "lbw", "gay", "rob", "mdr", "sxn", "sly", "mwv"], "ie": ["en", "ga", "fr"], "il": ["he", "en", "ar", "ru", "ro", "yi", "pl", "lad", "hu", "am", "ti", "ml"], "im": ["en", "gv"], - "in": ["hi", "en", "bn", "te", "mr", "ta", "ur", "gu", "kn", "ml", "or", "pa", "bho", "awa", "as", "mwr", "bgc", "mag", "mai", "hne", "dcc", "ne", "bjj", "sat", "wtm", "rkt", "ks", "kok", "gom", "swv", "gbm", "lmn", "sd", "gon", "kfy", "doi", "kru", "sck", "wbq", "xnr", "tcy", "wbr", "khn", "brx", "noe", "bhb", "mni", "hoc", "raj", "mtr", "unr", "bhi", "hoj", "kha", "kfr", "grt", "unx", "bfy", "srx", "saz", "ccp", "sd-Deva", "njo", "bfq", "ria", "bo", "bpy", "bft", "bra", "lep", "btv", "lif", "lah", "sa", "kht", "dv", "dz"], + "in": ["hi", "en", "bn", "te", "mr", "ta", "ur", "gu", "kn", "ml", "or", "pa", "bho", "awa", "as", "bgc", "mag", "mai", "mwr", "hne", "dcc", "bjj", "ne", "sat", "wtm", "rkt", "ks", "kok", "gom", "swv", "gbm", "lmn", "sd", "gon", "kfy", "doi", "kru", "sck", "wbq", "xnr", "khn", "tcy", "wbr", "brx", "noe", "bhb", "mni", "hoc", "raj", "mtr", "unr", "bhi", "hoj", "kha", "kfr", "grt", "unx", "bfy", "srx", "saz", "ccp", "sd-Deva", "bfq", "njo", "ria", "bo", "bpy", "bft", "bra", "lep", "btv", "lif", "lah", "sa", "kht", "dv", "dz"], "io": ["en"], "iq": ["ar", "en", "ckb", "az-Arab", "fa", "lrc", "syr"], - "ir": ["fa", "az-Arab", "mzn", "glk", "ckb", "sdh", "tk", "lrc", "bal", "ar", "rmt", "bqi", "luz", "lki", "bgn", "prd", "hy", "ps", "ka", "gbz", "kk-Arab"], + "ir": ["fa", "az-Arab", "mzn", "glk", "ckb", "sdh", "tk", "lrc", "ar", "bal", "rmt", "bqi", "luz", "lki", "bgn", "prd", "hy", "ps", "ka", "gbz", "kk-Arab"], "is": ["is", "da"], "it": ["it", "en", "fr", "sc", "de", "vec", "nap", "lij", "scn", "sdc", "sl", "fur", "egl", "ca", "el", "lmo", "pms", "hr", "rgn"], "je": ["en"], @@ -141,7 +141,7 @@ "lu": ["fr", "lb", "de", "en", "pt"], "lv": ["lv", "en", "ru", "ltg"], "ly": ["ar"], - "ma": ["ary", "ar", "zgh", "fr", "en", "tzm", "shi", "shi-Latn", "rif-Latn", "rif", "es"], + "ma": ["ary", "ar", "zgh", "fr", "en", "tzm", "shi", "shi-Latn", "rif", "rif-Latn", "es"], "mc": ["fr"], "md": ["ro", "uk", "bg", "gag", "ru"], "me": ["sr-Latn", "sq", "sr"], @@ -149,7 +149,7 @@ "mg": ["mg", "fr", "en"], "mh": ["en", "mh"], "mk": ["mk", "sq", "tr"], - "ml": ["fr", "bm", "ffm", "snk", "mwk", "ses", "tmh", "bm-Nkoo", "khq", "dtm", "kao", "ar", "bmq", "bze"], + "ml": ["bm", "fr", "ffm", "snk", "mwk", "ses", "tmh", "bm-Nkoo", "khq", "dtm", "kao", "ar", "bmq", "bze"], "mm": ["my", "shn", "kac", "mnw", "kht"], "mn": ["mn", "kk-Arab", "zh", "ru", "ug-Cyrl"], "mo": ["zh-Hant", "pt", "zh", "en"], @@ -168,11 +168,11 @@ "nc": ["fr"], "ne": ["ha", "fr", "dje", "fuq", "tmh", "ar", "twq", "ff", "ff-Adlm"], "nf": ["en"], - "ng": ["en", "pcm", "ha", "ig", "yo", "fuv", "tiv", "ibb", "efi", "ha-Arab", "bin", "kaj", "kcg", "ar", "cch", "amo", "ff", "ff-Adlm"], + "ng": ["en", "pcm", "ha", "ig", "yo", "fuv", "tiv", "efi", "ibb", "ha-Arab", "bin", "kaj", "kcg", "ar", "cch", "amo", "ff", "ff-Adlm"], "ni": ["es"], "nl": ["nl", "en", "de", "fr", "nds", "li", "fy", "gos", "id", "zea", "rif-Latn", "tr"], "no": ["nb", "nn", "se"], - "np": ["ne", "mai", "bho", "taj", "new", "jml", "en", "dty", "awa", "thl", "bap", "tdg", "thr", "mgp", "lif", "thq", "mrd", "gvr", "bfy", "xsr", "rjs", "hi", "bo", "tkt", "tdh", "bn", "unr-Deva", "lep"], + "np": ["ne", "mai", "bho", "taj", "new", "jml", "en", "dty", "awa", "thl", "bap", "tdg", "thr", "lif", "mgp", "thq", "mrd", "gvr", "bfy", "xsr", "rjs", "hi", "bo", "tkt", "tdh", "bn", "unr-Deva", "lep"], "nr": ["en", "na"], "nu": ["en", "niu"], "nz": ["en", "mi"], @@ -181,7 +181,7 @@ "pe": ["es", "qu", "ay"], "pf": ["fr", "ty", "zh-Hant"], "pg": ["tpi", "en", "ho"], - "ph": ["en", "fil", "es", "ceb", "ilo", "hil", "bik", "war", "pam", "bhk", "pag", "mdh", "tsg", "zh-Hant", "cps", "krj", "bto", "hnn", "tbw", "bku"], + "ph": ["en", "fil", "es", "ceb", "ilo", "hil", "bik", "war", "bhk", "pam", "pag", "mdh", "tsg", "zh-Hant", "cps", "krj", "bto", "hnn", "tbw", "bku"], "pk": ["ur", "pa-Arab", "en", "lah", "ps", "sd", "skr", "bal", "brh", "hno", "fa", "bgn", "hnd", "tg-Arab", "gju", "bft", "kvx", "khw", "mvy", "kxp", "gjk", "ks", "btv"], "pl": ["pl", "en", "de", "ru", "szl", "be", "uk", "csb", "sli", "lt"], "pm": ["fr", "en"], @@ -195,7 +195,7 @@ "re": ["fr", "rcf", "ta"], "ro": ["ro", "en", "fr", "es", "hu", "de", "tr", "sr-Latn", "bg", "el", "pl"], "rs": ["sr", "sr-Latn", "sq", "hu", "ro", "hr", "sk", "uk"], - "ru": ["ru", "tt", "ba", "cv", "hy", "ce", "av", "udm", "chm", "os", "sah", "kbd", "myv", "dar", "bua", "mdf", "kum", "lez", "kv", "krc", "inh", "tyv", "az-Cyrl", "ady", "krl", "lbe", "koi", "mrj", "alt", "fi", "sr-Latn", "vep", "mn", "izh", "cu", "vot"], + "ru": ["ru", "tt", "ba", "cv", "hy", "ce", "av", "udm", "chm", "os", "sah", "kbd", "myv", "dar", "bua", "mdf", "kum", "kv", "lez", "krc", "inh", "tyv", "az-Cyrl", "ady", "krl", "lbe", "koi", "mrj", "alt", "fi", "sr-Latn", "vep", "mn", "izh", "cu", "vot"], "rw": ["rw", "en", "fr"], "sa": ["ar"], "sb": ["en", "rug"], @@ -223,22 +223,22 @@ "td": ["fr", "ar"], "tf": ["fr"], "tg": ["fr", "ee", "ife"], - "th": ["th", "en", "tts", "nod", "sou", "mfa", "zh-Hant", "kxm", "kdt", "mnw", "shn", "lwl", "lcp"], + "th": ["th", "en", "tts", "nod", "sou", "mfa", "zh-Hant", "kxm", "kdt", "mnw", "shn", "lcp", "lwl"], "tj": ["tg", "ru", "fa", "ar"], "tk": ["en", "tkl"], "tl": ["pt", "tet"], "tm": ["tk", "ru", "uz", "ku"], "tn": ["aeb", "ar", "fr"], "to": ["to", "en"], - "tr": ["tr", "en", "ku", "zza", "kbd", "az", "az-Arab", "ar", "bgx", "bg", "ady", "kiu", "ka", "hy", "lzz", "sr-Latn", "sq", "el", "ab", "tru", "uz", "ky-Latn", "kk"], + "tr": ["tr", "en", "ku", "zza", "kbd", "az", "az-Arab", "ar", "bgx", "bg", "ady", "kiu", "hy", "ka", "lzz", "sr-Latn", "sq", "ab", "el", "tru", "uz", "ky-Latn", "kk"], "tt": ["en", "es"], "tv": ["tvl", "en"], "tw": ["zh-Hant", "trv"], - "tz": ["sw", "en", "suk", "nym", "kde", "ksb", "bez", "mas", "mgy", "asa", "lag", "rof", "jmc", "vun", "rwk", "sbp"], + "tz": ["sw", "en", "suk", "nym", "kde", "bez", "ksb", "mas", "mgy", "asa", "lag", "jmc", "rof", "vun", "rwk", "sbp"], "ua": ["uk", "ru", "pl", "yi", "rue", "be", "crh", "ro", "bg", "tr", "hu", "el"], "ug": ["sw", "lg", "nyn", "cgg", "xog", "en", "teo", "laj", "ach", "myx", "rw", "ttj", "hi"], "um": ["en"], - "us": ["en", "es", "zh-Hant", "fr", "de", "fil", "vi", "it", "ko", "ru", "nv", "yi", "pdc", "haw", "frc", "chr", "esu", "dak", "cho", "lkt", "ik", "mus"], + "us": ["en", "es", "zh-Hant", "fr", "de", "fil", "it", "vi", "ko", "ru", "nv", "yi", "pdc", "haw", "frc", "chr", "esu", "dak", "cho", "lkt", "ik", "mus"], "uy": ["es"], "uz": ["uz", "uz-Cyrl", "ru", "kaa", "tr"], "va": ["it", "la"], diff --git a/dist/locales/en.json b/dist/locales/en.json index 404920a945..625165396e 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -55,11 +55,11 @@ }, "assistant": { "mode": { - "adding": "Adding", "authenticating": "Authenticating", "drawing": "Drawing", "editing": "Editing", "mapping": "Mapping", + "placing": "Placing", "saving": "Saving", "viewing": "Viewing" }, @@ -142,19 +142,7 @@ "key": "N" }, "add_preset": { - "title": "Add {feature}", - "point": { - "title": "Add {feature} as a point" - }, - "line": { - "title": "Add {feature} as a line" - }, - "area": { - "title": "Add {feature} as an area" - }, - "building": { - "title": "Add {feature} as a building" - } + "title": "Add {feature}" }, "browse": { "title": "Browse", diff --git a/modules/modes/draw_area.js b/modules/modes/draw_area.js index 17f8cf4357..c429e16475 100644 --- a/modules/modes/draw_area.js +++ b/modules/modes/draw_area.js @@ -7,13 +7,16 @@ export function modeDrawArea(context, wayID, startGraph, baselineGraph, button, var mode = { button: button, id: 'draw-area', - title: (addMode && addMode.title) || utilDisplayLabel(context.entity(wayID), context) + title: (addMode && addMode.title) || utilDisplayLabel(context.entity(wayID), context), + geometry: 'area' }; mode.addMode = addMode; mode.wayID = wayID; + mode.preset = context.presets().match(context.entity(mode.wayID), context.graph()); + var behavior; mode.enter = function() { diff --git a/modules/modes/draw_line.js b/modules/modes/draw_line.js index 3908600b59..1e97a5a8dc 100644 --- a/modules/modes/draw_line.js +++ b/modules/modes/draw_line.js @@ -10,9 +10,12 @@ export function modeDrawLine(context, mode) { mode.id = 'draw-line'; mode.button = mode.button || 'line'; mode.title = (mode.addMode && mode.addMode.title) || utilDisplayLabel(context.entity(mode.wayID), context); + mode.geometry = 'line'; mode.isContinuing = !!mode.affix; + mode.preset = context.presets().match(context.entity(mode.wayID), context.graph()); + var behavior; mode.enter = function() { diff --git a/modules/presets/index.js b/modules/presets/index.js index af819bcecc..f32f42197f 100644 --- a/modules/presets/index.js +++ b/modules/presets/index.js @@ -334,10 +334,9 @@ export function presetIndex(context) { }))); }; - function RibbonItem(preset, geometry, source) { + function RibbonItem(preset, source) { var item = {}; item.preset = preset; - item.geometry = geometry; item.source = source; item.isFavorite = function() { @@ -346,32 +345,22 @@ export function presetIndex(context) { item.isRecent = function() { return item.source === 'recent'; }; - item.matches = function(preset, geometry) { - return item.preset.id === preset.id && item.geometry === geometry; + item.matches = function(preset) { + return item.preset.id === preset.id; }; item.minified = function() { return { - pID: item.preset.id, - geom: item.geometry + pID: item.preset.id }; }; return item; } function ribbonItemForMinified(d, source) { - if (d && d.pID && d.geom) { + if (d && d.pID) { var preset = all.item(d.pID); if (!preset) return null; - - var geom = d.geom; - // treat point and vertex features as one geometry - if (geom === 'vertex') geom = 'point'; - - // iD's presets could have changed since this was saved, - // so make sure it's still valid. - if (preset.matchGeometry(geom) || (geom === 'point' && preset.matchGeometry('vertex'))) { - return RibbonItem(preset, geom, source); - } + return RibbonItem(preset, source); } return null; } @@ -397,9 +386,9 @@ export function presetIndex(context) { if (!context.isFirstSession) { // assume existing user coming from iD 2, use the generic presets as defaults rawFavorites = [ - { pID: 'point', geom: 'point'}, - { pID: 'line', geom: 'line'}, - { pID: 'area', geom: 'area'} + { pID: 'point'}, + { pID: 'line'}, + { pID: 'area'} ]; } else { // new user, no default favorites @@ -438,10 +427,9 @@ export function presetIndex(context) { return _recents; }; - all.toggleFavorite = function(preset, geometry) { - geometry = all.fallback(geometry).id; + all.toggleFavorite = function(preset) { var favs = all.getFavorites(); - var favorite = all.favoriteMatching(preset, geometry); + var favorite = all.favoriteMatching(preset); if (favorite) { favs.splice(favs.indexOf(favorite), 1); } else { @@ -451,14 +439,13 @@ export function presetIndex(context) { favs.pop(); } // append array - favs.push(RibbonItem(preset, geometry, 'favorite')); + favs.push(RibbonItem(preset, 'favorite')); } setFavorites(favs); }; - all.removeFavorite = function(preset, geometry) { - geometry = all.fallback(geometry).id; - var item = all.favoriteMatching(preset, geometry); + all.removeFavorite = function(preset) { + var item = all.favoriteMatching(preset); if (item) { var items = all.getFavorites(); items.splice(items.indexOf(item), 1); @@ -466,8 +453,8 @@ export function presetIndex(context) { } }; - all.removeRecent = function(preset, geometry) { - var item = all.recentMatching(preset, geometry); + all.removeRecent = function(preset) { + var item = all.recentMatching(preset); if (item) { var items = all.getRecents(); items.splice(items.indexOf(item), 1); @@ -475,21 +462,19 @@ export function presetIndex(context) { } }; - all.favoriteMatching = function(preset, geometry) { - geometry = all.fallback(geometry).id; + all.favoriteMatching = function(preset) { var favs = all.getFavorites(); for (var index in favs) { - if (favs[index].matches(preset, geometry)) { + if (favs[index].matches(preset)) { return favs[index]; } } return null; }; - all.recentMatching = function(preset, geometry) { - geometry = all.fallback(geometry).id; + all.recentMatching = function(preset) { var items = all.getRecents(); for (var index in items) { - if (items[index].matches(preset, geometry)) { + if (items[index].matches(preset)) { return items[index]; } } @@ -517,18 +502,16 @@ export function presetIndex(context) { if (items) setRecents(items); }; - all.setMostRecent = function(preset, geometry) { + all.setMostRecent = function(preset) { if (context.inIntro()) return; if (preset.searchable === false) return; - geometry = all.fallback(geometry).id; - var items = all.getRecents(); - var item = all.recentMatching(preset, geometry); + var item = all.recentMatching(preset); if (item) { items.splice(items.indexOf(item), 1); } else { - item = RibbonItem(preset, geometry, 'recent'); + item = RibbonItem(preset, 'recent'); } // allow 30 recents if (items.length === 30) { diff --git a/modules/presets/preset.js b/modules/presets/preset.js index bebae095aa..02c01037ed 100644 --- a/modules/presets/preset.js +++ b/modules/presets/preset.js @@ -305,5 +305,36 @@ export function presetPreset(id, preset, fields, visible, rawPresets) { preset.groupsByGeometry = loadGroups(); } + // The geometry type to use when adding a new feature of this preset + preset.defaultAddGeometry = function(context, allowedGeometries) { + var geometry = preset.geometry.slice(); + if (allowedGeometries) { + geometry = geometry.filter(function(geom) { + return allowedGeometries.indexOf(geom) !== -1; + }); + } + var mostRecentAddGeom = context.storage('preset.' + preset.id + '.addGeom'); + if (mostRecentAddGeom === 'vertex') mostRecentAddGeom = 'point'; + if (mostRecentAddGeom && geometry.indexOf(mostRecentAddGeom) !== -1) { + return mostRecentAddGeom; + } + var vertexIndex = geometry.indexOf('vertex'); + if (vertexIndex !== -1 && geometry.indexOf('point') !== -1) { + // both point and vertex allowed, just use point + geometry.splice(vertexIndex, 1); + } + if (geometry.length) { + return geometry[0]; + } + return null; + }; + + preset.setMostRecentAddGeometry = function(context, geometry) { + if (preset.geometry.length > 1 && + preset.geometry.indexOf(geometry) !== -1) { + context.storage('preset.' + preset.id + '.addGeom', geometry); + } + }; + return preset; } diff --git a/modules/ui/assistant.js b/modules/ui/assistant.js index 8f2a93f776..dccf0ad6dd 100644 --- a/modules/ui/assistant.js +++ b/modules/ui/assistant.js @@ -663,36 +663,34 @@ export function uiAssistant(context) { function panelAddDrawGeometry(context, mode) { - var icon; - if (mode.id.indexOf('point') !== -1) { - icon = 'iD-icon-point'; - } else if (mode.id.indexOf('line') !== -1) { - icon = 'iD-icon-line'; - } else { - icon = 'iD-icon-area'; - } - var message = t('assistant.instructions.' + mode.id.replace('-', '_')); - - var modeLabelID; - if (mode.id.indexOf('add') !== -1) { - modeLabelID = 'adding'; - } else { - modeLabelID = 'drawing'; - + if (mode.id.indexOf('draw') !== -1) { var way = context.entity(mode.wayID); if (way.nodes.length >= 4) { message += '
' + t('assistant.instructions.finishing'); } } + var modeLabelID = 'drawing'; + + if (mode.id === 'add-point') { + modeLabelID = 'placing'; + } + var panel = { - headerIcon: icon, modeLabel: t('assistant.mode.' + modeLabelID), title: mode.title, message: message }; + panel.renderHeaderIcon = function(selection) { + selection.call(uiPresetIcon(context) + .geometry(mode.geometry) + .preset(mode.preset) + .sizeClass('small') + .pointMarker(false)); + }; + return panel; } diff --git a/modules/ui/entity_editor.js b/modules/ui/entity_editor.js index 95ae6c663b..5ff01f32bd 100644 --- a/modules/ui/entity_editor.js +++ b/modules/ui/entity_editor.js @@ -264,11 +264,10 @@ export function uiEntityEditor(context) { } } - function choosePreset(preset, geometry) { + function choosePreset(preset) { var entityID = singularEntityID(); if (!entityID) return; - context.presets().setMostRecent(preset, geometry); context.perform( actionChangePreset(entityID, _activePreset, preset), t('operations.change_tags.annotation') diff --git a/modules/ui/preset_browser.js b/modules/ui/preset_browser.js index 098479c73f..03789cfaa4 100644 --- a/modules/ui/preset_browser.js +++ b/modules/ui/preset_browser.js @@ -281,11 +281,8 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { if (!scoredPresets[id]) { scoredPresets[id] = { preset: item.preset, - score: score, - geometry: [item.geometry] + score: score }; - } else if (scoredPresets[id].geometry.indexOf(item.geometry) === -1) { - scoredPresets[id].geometry.push(item.geometry); } }); @@ -306,11 +303,8 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { if (!scoredPresets[preset.id]) { scoredPresets[preset.id] = { preset: preset, - score: 0, - geometry: [geom] + score: 0 }; - } else if (scoredPresets[preset.id].geometry.indexOf(geom) === -1) { - scoredPresets[preset.id].geometry.push(geom); } scoredPresets[preset.id].score += 1; } @@ -357,7 +351,7 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { return Object.values(scoredPresets).sort(function(item1, item2) { return item2.score - item1.score; }).map(function(item) { - return item.geometry ? item : item.preset; + return item.preset ? item.preset : item; }).filter(function(d) { var preset = d.preset || d; // skip non-visible @@ -366,10 +360,8 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { // skip presets not valid in this country if (_countryCode && preset.countryCodes && preset.countryCodes.indexOf(_countryCode) === -1) return false; - var geometry = d.geometry || preset.geometry; - for (var i in shownGeometry) { - if (geometry.indexOf(shownGeometry[i]) !== -1) { + if (preset.geometry.indexOf(shownGeometry[i]) !== -1) { // skip currently hidden features if (!context.features().isHiddenPreset(preset, shownGeometry[i])) return true; } @@ -464,44 +456,16 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { return CategoryItem(d); } var preset = d.preset || d; - if (d.preset && d.geometry && typeof d.geometry === 'string') { - return AddablePresetItem(preset.preset, preset.geometry); - } - var geometry = d.geometry.filter(function(geometry) { - return shownGeometry.indexOf(geometry) !== -1; - }).sort(); - var vertexIndex = geometry.indexOf('vertex'); - if (vertexIndex !== -1 && geometry.indexOf('point') !== -1) { - // both point and vertex allowed, just show point - geometry.splice(vertexIndex, 1); - } - if (geometry.length === 1) { - return AddablePresetItem(preset, geometry[0]); - } - return MultiGeometryPresetItem(preset, geometry); + return AddablePresetItem(preset); } - function drawList(list, data) { + function drawList(list, rawItems) { list.selectAll('.subsection.subitems').remove(); - var dataItems = []; - for (var i = 0; i < data.length; i++) { - var preset = data[i]; - if (i < data.length - 1) { - var nextPreset = data[i+1]; - // group neighboring presets with the same name - if (preset.name && nextPreset.name && preset.name() === nextPreset.name()) { - var groupedPresets = [preset, nextPreset].sort(function(p1, p2) { - return (p1.geometry[0] < p2.geometry[0]) ? -1 : 1; - }); - dataItems.push(MultiPresetItem(groupedPresets)); - i++; // skip the next preset since we accounted for it - continue; - } - } - dataItems.push(itemForPreset(preset)); - } + var dataItems = rawItems.map(function(rawItem) { + return itemForPreset(rawItem); + }); var items = list.selectAll('.list-item') .data(dataItems, function(d) { return d.id(); }); @@ -550,9 +514,14 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { }); row.each(function(d) { + var geometry = d.preset.geometry[0]; + if (d.preset.geometry.length !== 1 || + (geometry !== 'area' && geometry !== 'line' && geometry !== 'vertex')) { + geometry = null; + } d3_select(this).call( uiPresetIcon(context) - .geometry(d.geometry) + .geometry(geometry) .preset(d.preset || d.presets[0]) .sizeClass('small') ); @@ -581,15 +550,15 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { }); row.each(function(d) { - if (d.geometry) { - var presetFavorite = uiPresetFavoriteButton(d.preset, d.geometry, context, 'accessory'); + if (d.preset) { + var presetFavorite = uiPresetFavoriteButton(d.preset, null, context, 'accessory'); d3_select(this).call(presetFavorite.button); } }); item.each(function(d) { - if ((d.geometry && (!d.isSubitem || d.isInNameGroup)) || d.geometries) { + if ((d.preset && (!d.isSubitem || d.isInNameGroup)) || d.geometries) { - var reference = uiTagReference(d.preset.reference(d.geometry || d.geometries[0]), context); + var reference = uiTagReference(d.preset.reference(d.preset.defaultAddGeometry(context, shownGeometry)), context); var thisItem = d3_select(this); thisItem.selectAll('.row').call(reference.button, 'accessory', 'info'); @@ -687,82 +656,21 @@ export function uiPresetBrowser(context, allowedGeometry, onChoose, onCancel) { return item; } - function MultiPresetItem(presets) { + function AddablePresetItem(preset, isSubitem, isInNameGroup) { var item = {}; item.id = function() { - return presets.map(function(preset) { return preset.id; }).join(); + return preset.id + isSubitem; }; item.name = function() { - return presets[0].name(); - }; - item.subsection = d3_select(null); - item.presets = presets; - item.choose = function() { - var selection = d3_select(this); - if (selection.classed('disabled')) return; - chooseExpandable(item, d3_select(selection.node().closest('.list-item'))); - }; - item.subitems = function() { - var items = []; - presets.forEach(function(preset) { - preset.geometry.filter(function(geometry) { - return shownGeometry.indexOf(geometry) !== -1; - }).forEach(function(geometry) { - items.push(AddablePresetItem(preset, geometry, true, true)); - }); - }); - return items; - }; - return item; - } - - function MultiGeometryPresetItem(preset, geometries) { - - var item = {}; - item.id = function() { - return preset.id + geometries; - }; - item.name = function() { - return preset.name(); - }; - item.subsection = d3_select(null); - item.preset = preset; - item.geometries = geometries; - item.choose = function() { - var selection = d3_select(this); - if (selection.classed('disabled')) return; - chooseExpandable(item, d3_select(selection.node().closest('.list-item'))); - }; - item.subitems = function() { - return geometries.map(function(geometry) { - return AddablePresetItem(preset, geometry, true); - }); - }; - return item; - } - - function AddablePresetItem(preset, geometry, isSubitem, isInNameGroup) { - var item = {}; - item.id = function() { - return preset.id + geometry + isSubitem; - }; - item.name = function() { - if (isSubitem) { - if (preset.setTags({}, geometry).building) { - return t('presets.presets.building.name'); - } - return t('modes.add_' + context.presets().fallback(geometry).id + '.title'); - } return preset.name(); }; item.isInNameGroup = isInNameGroup; item.isSubitem = isSubitem; item.preset = preset; - item.geometry = geometry; item.choose = function() { if (d3_select(this).classed('disabled')) return; - if (onChoose) onChoose(preset, geometry); + if (onChoose) onChoose(preset, preset.defaultAddGeometry(context, shownGeometry)); search.node().blur(); }; diff --git a/modules/ui/preset_favorite_button.js b/modules/ui/preset_favorite_button.js index a8e7e08a80..db31ff487d 100644 --- a/modules/ui/preset_favorite_button.js +++ b/modules/ui/preset_favorite_button.js @@ -8,8 +8,6 @@ import { svgIcon } from '../svg/icon'; export function uiPresetFavoriteButton(preset, geom, context, klass) { - geom = context.presets().fallback(geom).id; - var presetFavorite = {}; var _button = d3_select(null); @@ -37,7 +35,7 @@ export function uiPresetFavoriteButton(preset, geom, context, klass) { d3_event.stopPropagation(); d3_event.preventDefault(); - context.presets().toggleFavorite(preset, geom); + context.presets().toggleFavorite(preset); update(); }); @@ -47,10 +45,10 @@ export function uiPresetFavoriteButton(preset, geom, context, klass) { function update() { _button - .classed('active', context.presets().favoriteMatching(preset, geom)); + .classed('active', context.presets().favoriteMatching(preset)); } - context.presets().on('favoritePreset.button-' + preset.id.replace(/[^a-zA-Z\d:]/g, '-') + '-' + geom, update); + context.presets().on('favoritePreset.button-' + preset.id.replace(/[^a-zA-Z\d:]/g, '-'), update); return presetFavorite; } diff --git a/modules/ui/tools/add_feature.js b/modules/ui/tools/add_feature.js index 94489c641f..8270b2f7d9 100644 --- a/modules/ui/tools/add_feature.js +++ b/modules/ui/tools/add_feature.js @@ -18,7 +18,7 @@ export function uiToolAddFeature(context) { id: 'add_feature', label: t('toolbar.add_feature'), itemClass: 'disclosing', - iconName: 'iD-logo-features', + iconName: 'iD-presets-grid', iconClass: 'icon-30' }; @@ -133,7 +133,7 @@ export function uiToolAddFeature(context) { return; } - context.presets().setMostRecent(preset, geometry); + context.presets().setMostRecent(preset); context.enter(mode); } diff --git a/modules/ui/tools/add_recent.js b/modules/ui/tools/add_recent.js index 61b23efe34..97ea0acf35 100644 --- a/modules/ui/tools/add_recent.js +++ b/modules/ui/tools/add_recent.js @@ -17,7 +17,7 @@ export function uiToolAddRecent(context) { function isAFavorite(recent) { return favorites.some(function(favorite) { - return favorite.matches(recent.preset, recent.geometry); + return favorite.matches(recent.preset); }); } @@ -25,7 +25,7 @@ export function uiToolAddRecent(context) { var items = []; if (maxRecents > 0) { var recents = context.presets().getRecents().filter(function(recent) { - return recent.geometry !== 'relation'; + return recent.preset.geometry.length > 1 || recent.preset.geometry[0] !== 'relation'; }); for (var i in recents) { var recent = recents[i]; diff --git a/modules/ui/tools/adding_geometry.js b/modules/ui/tools/adding_geometry.js new file mode 100644 index 0000000000..675dec32fb --- /dev/null +++ b/modules/ui/tools/adding_geometry.js @@ -0,0 +1,81 @@ +import { uiToolSegemented } from './segmented'; +import { t } from '../../util/locale'; +import { modeAddPoint } from '../../modes/add_point'; +import { modeAddLine } from '../../modes/add_line'; +import { modeAddArea } from '../../modes/add_area'; + +export function uiToolAddingGeometry(context) { + + var tool = uiToolSegemented(context); + + tool.id = 'adding_geometry'; + tool.label = t('info_panels.measurement.geometry'); + tool.iconName = 'iD-logo-features'; + tool.iconClass = 'icon-30'; + + var items = { + point: { + id: 'point', + icon: 'iD-icon-point', + label: t('modes.add_point.title'), + mode: modeAddPoint + }, + vertex: { + id: 'vertex', + icon: 'iD-icon-vertex', + label: t('modes.add_point.title'), + mode: modeAddPoint + }, + line: { + id: 'line', + icon: 'iD-icon-line', + label: t('modes.add_line.title'), + mode: modeAddLine + }, + area: { + id: 'area', + icon: 'iD-icon-area', + label: t('modes.add_area.title'), + mode: modeAddArea + } + }; + + tool.chooseItem = function(item) { + var oldMode = context.mode(); + + oldMode.preset.setMostRecentAddGeometry(context, item.id); + + var newMode = item.mode(context, { + button: oldMode.button, + preset: oldMode.preset, + geometry: item.id, + title: oldMode.title + }); + context.enter(newMode); + }; + + tool.activeItem = function() { + return items[context.mode().geometry]; + }; + + tool.loadItems = function() { + var mode = context.mode(); + + if (!mode.preset || + (mode.id !== 'add-point' && mode.id !== 'add-line' && mode.id !== 'add-area') || + mode.addedEntityIDs().length > 0) { + tool.items = []; + } else { + var geometries = context.mode().preset.geometry.slice().sort().reverse(); + var vertexIndex = geometries.indexOf('vertex'); + if (vertexIndex !== -1 && geometries.indexOf('point') !== -1) { + geometries.splice(vertexIndex, 1); + } + tool.items = geometries.map(function(geom) { + return items[geom]; + }).filter(Boolean); + } + }; + + return tool; +} diff --git a/modules/ui/tools/quick_presets.js b/modules/ui/tools/quick_presets.js index 69bbdea382..0f2a9a0fa3 100644 --- a/modules/ui/tools/quick_presets.js +++ b/modules/ui/tools/quick_presets.js @@ -42,7 +42,7 @@ export function uiToolQuickPresets(context) { if (d.preset && // don't set a recent as most recent to avoid reordering buttons !d.isRecent()) { - context.presets().setMostRecent(d.preset, d.geometry); + context.presets().setMostRecent(d.preset); } context.enter(d); } @@ -63,36 +63,24 @@ export function uiToolQuickPresets(context) { var modes = items.map(function(d) { var presetName = d.preset.name().split(' – ')[0]; - var markerClass = 'add-preset add-' + d.geometry + ' add-preset-' + presetName.replace(/\s+/g, '_') - + '-' + d.geometry + ' add-' + d.source; // replace spaces with underscores to avoid css interpretation + var markerClass = 'add-preset add-preset-' + presetName.replace(/\s+/g, '_') + + ' add-' + d.source; // replace spaces with underscores to avoid css interpretation if (d.preset.isFallback()) { markerClass += ' add-generic-preset'; } - var supportedGeometry = d.preset.geometry.filter(function(geometry) { - return ['vertex', 'point', 'line', 'area'].indexOf(geometry) !== -1; - }); - var vertexIndex = supportedGeometry.indexOf('vertex'); - if (vertexIndex !== -1 && supportedGeometry.indexOf('point') !== -1) { - // both point and vertex allowed, just combine them - supportedGeometry.splice(vertexIndex, 1); - } + var geometry = d.preset.defaultAddGeometry(context); + var tooltipTitleID = 'modes.add_preset.title'; - if (supportedGeometry.length !== 1) { - if (d.preset.setTags({}, d.geometry).building) { - tooltipTitleID = 'modes.add_preset.building.title'; - } else { - tooltipTitleID = 'modes.add_preset.' + context.presets().fallback(d.geometry).id + '.title'; - } - } var protoMode = Object.assign({}, d); // shallow copy + protoMode.geometry = geometry; protoMode.button = markerClass; protoMode.title = presetName; protoMode.description = t(tooltipTitleID, { feature: '' + presetName + '' }); protoMode.key = d.key; var mode; - switch (d.geometry) { + switch (geometry) { case 'point': case 'vertex': mode = modeAddPoint(context, protoMode); @@ -143,9 +131,16 @@ export function uiToolQuickPresets(context) { buttonsEnter .each(function(d) { + + var geometry = d.preset.geometry[0]; + if (d.preset.geometry.length !== 1 || + (geometry !== 'area' && geometry !== 'line' && geometry !== 'vertex')) { + geometry = null; + } + d3_select(this) .call(uiPresetIcon(context) - .geometry((d.geometry === 'point' && !d.preset.matchGeometry(d.geometry)) ? 'vertex' : d.geometry) + .geometry(geometry) .preset(d.preset) .sizeClass('small') .pointMarker(true) @@ -231,19 +226,19 @@ export function uiToolQuickPresets(context) { if (y > 50) { // dragged out of the top bar, remove if (d.isFavorite()) { - context.presets().removeFavorite(d.preset, d.geometry); + context.presets().removeFavorite(d.preset); // also remove this as a recent so it doesn't still appear - context.presets().removeRecent(d.preset, d.geometry); + context.presets().removeRecent(d.preset); } else if (d.isRecent()) { - context.presets().removeRecent(d.preset, d.geometry); + context.presets().removeRecent(d.preset); } } else if (targetIndex !== null) { // dragged to a new position, reorder if (d.isFavorite()) { context.presets().moveFavorite(index, targetIndex); } else if (d.isRecent()) { - var item = context.presets().recentMatching(d.preset, d.geometry); - var beforeItem = context.presets().recentMatching(targetData.preset, targetData.geometry); + var item = context.presets().recentMatching(d.preset); + var beforeItem = context.presets().recentMatching(targetData.preset); context.presets().moveRecent(item, beforeItem); } } diff --git a/modules/ui/tools/segmented.js b/modules/ui/tools/segmented.js index a589d32f42..687b32f0a1 100644 --- a/modules/ui/tools/segmented.js +++ b/modules/ui/tools/segmented.js @@ -54,13 +54,14 @@ export function uiToolSegemented(context) { setActiveItem(d); }) .each(function(d) { + var title = tool.key ? uiTooltipHtml(d.label, tool.key) : d.label; var tooltipBehavior = tooltip() .placement('bottom') .html(true) - .title(uiTooltipHtml(d.label, tool.key)); + .title(title); d3_select(this) .call(tooltipBehavior) - .call(svgIcon('#' + d.icon, 'icon-30')); + .call(svgIcon('#' + d.icon, d.iconClass)); }); }; diff --git a/modules/ui/tools/structure.js b/modules/ui/tools/structure.js index 1b0c730170..96dc5ae8d3 100644 --- a/modules/ui/tools/structure.js +++ b/modules/ui/tools/structure.js @@ -22,12 +22,14 @@ export function uiToolStructure(context) { id: 'none', icon: 'iD-other-line', label: t('toolbar.structure.none.title'), + iconClass: 'icon-30', tags: {} }; var structureBridge = { id: 'bridge', icon: 'maki-bridge-15', label: t('presets.fields.structure.options.bridge'), + iconClass: 'icon-30', tags: { bridge: 'yes' }, @@ -40,6 +42,7 @@ export function uiToolStructure(context) { id: 'tunnel', icon: 'tnp-2009642', label: t('presets.fields.structure.options.tunnel'), + iconClass: 'icon-30', tags: { tunnel: 'yes' }, diff --git a/modules/ui/tools/way_segments.js b/modules/ui/tools/way_segments.js index 3ce1bef4f7..2c139bd177 100644 --- a/modules/ui/tools/way_segments.js +++ b/modules/ui/tools/way_segments.js @@ -15,12 +15,14 @@ export function uiToolWaySegments(context) { { id: 'straight', icon: 'iD-segment-straight', - label: t('toolbar.segments.straight.title') + label: t('toolbar.segments.straight.title'), + iconClass: 'icon-30' }, { id: 'orthogonal', icon: 'iD-segment-orthogonal', - label: t('toolbar.segments.orthogonal.title') + label: t('toolbar.segments.orthogonal.title'), + iconClass: 'icon-30' } ]; diff --git a/modules/ui/top_toolbar.js b/modules/ui/top_toolbar.js index f798ae14da..3be8a7aa27 100644 --- a/modules/ui/top_toolbar.js +++ b/modules/ui/top_toolbar.js @@ -17,6 +17,7 @@ import { uiToolStructure } from './tools/structure'; import { uiToolCenterZoom } from './tools/center_zoom'; import { uiToolStopDraw } from './tools/stop_draw'; import { uiToolToolbox } from './tools/toolbox'; +import { uiToolAddingGeometry } from './tools/adding_geometry'; export function uiTopToolbar(context) { @@ -46,6 +47,7 @@ export function uiTopToolbar(context) { repeatAdd = uiToolRepeatAdd(context), centerZoom = uiToolCenterZoom(context), stopDraw = uiToolStopDraw(context), + addingGeometry = uiToolAddingGeometry(context), /* deselect = uiToolSimpleButton({ id: 'deselect', @@ -124,9 +126,9 @@ export function uiTopToolbar(context) { tools = [ toolbox, + addingGeometry, 'spacer', structure, - 'spacer', waySegments, 'spacer', repeatAdd, diff --git a/svg/iD-sprite/tools/presets-grid.svg b/svg/iD-sprite/tools/presets-grid.svg new file mode 100644 index 0000000000..cd8cac3158 --- /dev/null +++ b/svg/iD-sprite/tools/presets-grid.svg @@ -0,0 +1,4 @@ + + + +