# Freemap.sk > Freemap.sk is a free, non-commercial web map application built on OpenStreetMap data by the NGO Freemap Slovakia (a Slovak local chapter of the OpenStreetMap Foundation). Its focus is a detailed outdoor map for hiking, cycling, cross-country skiing and horse riding across Europe, complemented by many additional base and overlay layers and by tools for search, route planning, drawing and measurement, GPX viewing, live tracking, personal maps, map embedding, and export. This file gives AI systems and assistants structured information so they can explain, describe, and help users interact with the site. Contact: [info@freemap.sk](mailto:info@freemap.sk) Key facts: - Built on OpenStreetMap data; the map is continuously updated from the OSM database. - Displays marked hiking, biking, skiing and riding trails, and supports high-resolution (retina) displays. - Background and overlay layers include the NLC forest roads, aerial imagery, public transport, Wikipedia, and community photos. - Tools: search (by name or category), route planning (walking, cycling, stroller, wheelchair, car, skiing, etc.), map annotation (points, lines, polygons), measurement (distance, elevation, area, position), GPX track viewing, personal saved maps, live tracking, and export (GPX, GeoJSON, PDF, SVG, PNG, JPG). - Users can generate embed code to place the map on their own websites. - The application is a single-page application (SPA) and reflects its state in the URL. The sections below describe the application's functions (the main-menu tools and modals), the available map layers, and external resources. ## Functions The main menu is under a button with a "hamburger" icon at the top left of the page. ### Search - Access: the search box at the top of the page ("Search in the map") Searches the map by place name, category, or coordinates. Results may come from several sources — place-name (Nominatim forward) and reverse geocoding, nearby and surrounding POIs (Overpass), raw coordinates, OSM elements, and WMS feature info. A selected result is highlighted on the map and can be used as the start or destination of a route. ### UI Language switcher - Access: Main menu > Language - Available languages: Slovak, Czech, Hungarian, English, Polish, German, Italian ### Account - Access: Main menu > Account - Keyboard shortcut: e a - URL path: `/#show=account` Available only to logged-in users. Logged-out users instead see a **Log in** item in the same place, which opens the login provider chooser (see Login providers below). The Account modal has three collapsible sections (below); from the buttons at the bottom the user can also log out or delete their account. #### Purchases - Shows current premium status (e.g. "premium access until ") and the credit balance, with a **Buy credits** button - History of purchases (date and item) - Users can purchase yearly premium access and/or credits - Credits are currently spent only on "Offline maps export" (see description below) - Yearly premium allows: - Removal of the ad banner - Access to premium photos (users can mark uploaded photos as premium-only) - Access to higher map zoom levels for specific map layers (see below) #### Personal information - Profile picture (choose / remove) - Name (required) and email address - "About me" description #### Login providers Supported login providers: - Apple - Facebook - Google - OpenStreetMap - Garmin For each provider the modal shows either a **Connect** button (to link it) or a **Disconnect** button (if already linked), so multiple providers can be linked to a single Freemap account. ### Clear map elements - Access: Main menu > Clear map elements - Keyboard shortcut: g c Clears the data layer (all interactive map elements of various tools) from the map. ### Photos - Access: Main menu > Photos - Keyboard shortcut: shift f - Layer code: `I` (e.g. `/#layers=X~I`) Toggles the photos toolbar and the community-photos map layer. Photos appear as markers; the toolbar provides: - **Upload** (p u) — see upload modal below - **Filter** (p f) — "Photo filtering" modal: by tag, author, upload-date range, capture-date range, rating range, and premium / panorama (tri-state) toggles - **Colorize markers by** (dropdown) — Don't colorize, Differ mine, Author, Rating, Taken date, Upload date, Season, Premium - **View photos** (dropdown, ordering) — from last uploaded (p l), from newest, from most rated, from last comment - **Leaderboard** (p b) — modal with a time-period selector (All time / last 3 months / last 30 days) and ranking tables: photos per author, and photos per author per country - **Settings** (gear dropdown) — Show colorizing legend, Show shooting direction, Notify photo comments via e-mail, plus premium options: "Include all my photos in premium content" and "Make all my photos accessible to everyone" **Upload modal:** drag-and-drop or pick photos; per photo set name, description, capture date/time, location (with "Set the location" on the map), azimuth (shooting direction), tags, and an optional "make available only to premium users" flag. Shows the gallery rules (max 10 MB, landscapes/documentation only, own photos only, published under CC BY-SA 4.0, etc.). **Photo viewer:** shows the full image with CC BY-SA 4.0 attribution, uploader, capture date and rating; users can comment, rate, modify (own photos), delete, show on the map, open fullscreen, or open in an external app. Photos can be navigated sequentially (e.g. "1 / 51"). ### My maps - Access: Main menu > My maps - Keyboard shortcut: g m - URL path: `/#show=maps` Opens the user-saved maps manager in a modal. Each saved map stores the current state: active map layers, drawing, planned route, watched live-tracked devices, and GPX track. The modal lists saved maps with their created/modified dates and a filter box. A gear menu sets load options: - **To empty map** — clear the current map before loading - **Include saved background map and position** — also restore the saved base/overlay layers and viewport Each map has a per-item menu with **Load**, **Modify**, and **Delete**. Modify edits the map **Name** and its **Editors** — other users can be added as editors to collaborate on the same saved map. There is also an option to add a new (empty) saved map. While a saved map is loaded ("connected"), a toolbar shows the map name with **Save** and a **Disconnect** button (whose dropdown also offers **Disconnect and clear**, to disconnect and clear the current map contents). ### Drawing and measurement - Access: Main menu > Drawing and measurement - Keyboard shortcut: - g p for drawing points (markers) / measuring coordinates and elevation; URL path: `/#tool=draw-points` - g l for drawing lines / measuring distance and azimuth; URL path: `/#tool=draw-lines` - g n for drawing polygons / measuring area; URL path: `/#tool=draw-polygons` Toggles the drawing and measurement toolbar. The toolbar lets the user switch between Point / Line / Polygon and open **Style settings** (e d), the default drawing style (color, fill color, width, line cap, line join, dash style, shape) applied to new drawings. **Measurement readouts:** drawing a line shows its length; a polygon shows its area and perimeter (each copyable). A point can show its coordinates and elevation. **Editing a selected geometry** — a context toolbar offers **Properties** plus, via a "⋮" menu: - Lines: Elevation profile, Project point, Simplify, Reverse direction - Polygons: Simplify, Reverse direction - Points: Project point, and Open in… (new window, share location, share photo, or an external app) While drawing, individual nodes can be edited: a line point can **Join** another line, **Continue** drawing, **Split** the line, or be deleted; a polygon point can be deleted. **Properties modal:** Label, Color, Shape, Icon (searchable picker), and Text (up to 2 characters shown inside the marker); lines/polygons additionally expose fill color, width, line cap/join and dash style. **Project point modal:** create a point at a given Distance (m) and Azimuth (°) from the selected point. **Simplify** prompts for a simplification factor (0 = no simplification). **Elevation profile** opens a chart of elevation along a line, with total climb and total descent. ### Route finder - Access: Main menu > Route finder - Keyboard shortcut: g r - URL path: `/#show=route-planner` Toggles the route finder toolbar, which has: a transport/router selector, a mode selector, **Start** and **Finish** point pickers, a swap-endpoints button, and a close button. Routing is based on a Freemap-hosted GraphHopper or third-party OSRM router. A route can contain multiple midpoints. Some midpoints may be marked as "manual," which activates manual routing as a user-drawn path for that route segment. The **Start**/**Finish** (and midpoint) pickers offer: Select on the map, Your position, or Home position. Supported vehicles (the transport dropdown also offers "Straight line" for fully manual routing): - GraphHopper - Car - Car (4WD) - Motorcycle - Racing bike - Mountain bike - Walking - Hiking - OSRM - Car - Bicycle - Walking Routing modes: - GraphHopper - Ordered - Roundtrip - Isochrones - OSRM - Ordered - Visiting places - Visiting places (roundtrip) ### Objects (POIs) - Access: Main menu > Objects (POIs) - Keyboard shortcut: g o - URL path: `/#show=objects` Toggles the objects toolbar. The toolbar contains a combo box to search for various POIs by type. Multiple types can be activated and will be visible interactively as markers with icons on the map. The marker icon can be globally changed (pin/ring/square). ### File import - Access: Main menu > File import - Keyboard shortcut: g g - URL path: `/#tool=import-file` (legacy `/#tool=track-viewer` still works) Toggles the file import toolbar. **Upload** opens the file import modal (URL path: `/#show=upload-track`), which accepts GPX and GeoJSON files. **Import from Strava** (shown only when the account is connected with Strava, URL path: `/#show=strava-import`) lists the athlete's Strava activities and imports the chosen one as a track. Once a track is loaded, the toolbar offers: - **Elevation profile** — chart of elevation along the track (with total climb/descent) - **Colorize by** (dropdown) — Inactive, Elevation, Steepness, Speed, Heart rate, Cadence, Power, Temperature, Time, Heading (entries with no data in the track are disabled) - **More info** — a popup with the track's distance, min/max elevation, total climb and total descent - **Save on server** — store the track to get a shareable link - **Convert to drawing** — turn the imported track into editable drawing features - delete and close buttons ### Map details - Access: Main menu > Map details - Keyboard shortcut: g i - URL path: `/#tool=map-details` Toggles the map details toolbar. Clicking a location queries information about it, grouped by source (each toggleable via the **Sources** dropdown): - **Reverse geocoding** — the locality / address of the point - **Nearby** — features near the clicked point - **Containing features** — administrative and geographic areas containing the point (cadastral community, district, region, mountain range, country, etc.) Selecting a feature opens a detail popup with its OSM tags, a link to open it at OpenStreetMap.org (and its history), an "Edit in JOSM" button, and the data source. ### Map changes - Access: Main menu > Map changes - Keyboard shortcut: g x - URL path: `/#tool=changesets` Toggles the OSM changes toolbar, which contains: a dropdown to select the time window (changesets from the last 3, 7, 14, or 30 days), an "All authors" text input to filter by OSM username, a clear button, a button to download the changesets, and an edit button. OSM changes matching the selected parameters are displayed on the map as markers showing the mapper's name and changeset description. Clicking the marker will open the toast with the following details: - author - changeset description - date/time of the changeset - changeset links to osm.org and Achavi ### Live tracking - Access: Main menu > Live tracking Live tracking lets a user register their own devices (so others can follow their position) and watch other people's devices. Supported tracker apps/devices include OsmAnd, Locus, Traccar, and similar. It opens a submenu leading to two managers: **My tracked devices** and **Watched devices**. #### My tracked devices Manage your own devices so others can watch your position via a watch token. The list shows each device's tracking token, name, max age, and creation date. Each device has: - a button showing a **QR code** to quickly set up a tracker app (e.g. Traccar/OsmAnd) - a menu with **Modify**, **Watch tokens**, and **Delete** - an **Add new** button **Device form:** Name (required), Token (required), Max Count (max number of stored locations), and Max Age (in minutes). Each location sent by a device may carry properties such as altitude, speed, bearing, GSM/GPS signal strength, GPS precision, battery level, and a custom message. **Watch tokens** (per device): independent share tokens, each with a created date, an optional validity window and a note. They can be copied, viewed, edited, or deleted, and the device owner can add new ones to share position with different people. The token form has **From**, **To**, and **Note** fields. #### Watched devices Manage devices you follow to see your friends' positions. Note: the watched-devices list is only reflected in the page URL — to persist it, save it via **My maps**. Each watched device is added with a **Watch Device** form: Watch Token (required), Label, Color, line Width (px), Since (date/time), Max Age (minutes), Max Count, Split Distance (meters), and Split Duration (minutes). Watched tracks render on the map; selecting one shows a small toolbar to delete or close it. ### Offline maps - Access: Maps button menu > Offline maps - Keyboard shortcut: m o Caches selected map areas (tiles) in the browser for offline use. (This is different from "Offline maps export", which produces a downloadable MBTiles/SQLiteDB file.) The manager modal lists already-cached offline maps with their zoom range, tile count, size and status (Ready, or incomplete with pause/resume), and has buttons to view, edit, delete, and **Add offline map**. The "Cache map for offline use" form lets the user choose: - the map (layer) to cache - the area: current visible area, or a rectangle drawn on the map - a name - the zoom range - whether to show the cached map in the menu and/or toolbar It shows the estimated tile count and size before caching starts. ### Share / Open in external app - Access: Main menu > Share / Open in external app Opens a submenu: - Copy page URL j c - Share location - OpenStreetMap j o - Mapy.com j m - Google Maps j g - Geocaching - F4Map j 4 - Peakfinder j p - Mapillary j l - OpenStreetCam - Waze - OMA (SK) - Hiking.sk (SK) j h - ZBGIS (SK) j z - Edit in JOSM j j - Edit in iD j i ### Map export to image/document - Access: Main menu > Map export to image/document - Keyboard shortcut: e p - URL path: `/#show=map-to-document-export` Opens a modal to export the map as an image or document. Options: - Export area: visible area, or a rectangle drawn on the map - Format: JPEG, PNG, PDF, or SVG - Optional server-rendered overlays: contours, shaded relief, hiking trails, bicycle trails, ski trails, horse trails - Own map-feature sources to draw on top (only those with data are selectable, same set as the map data export): found route (optionally with stops), objects (POIs), photos, drawing lines/areas/points, live tracking, imported GPX track, highlighted map feature - Glow: optional glow/shadow drawn around all own map-feature markers and lines, with configurable color (incl. opacity) and width - Marker size: configurable pixel size of own map-feature point markers - Labels: configurable color (no opacity), size, and weight of own map-feature labels - Drawing order: Topmost or Natural - Map resolution (DPI) The modal also displays the attribution that must accompany the exported map when shared. While the export runs the modal stays open with its controls disabled and a spinner on the export button; only Cancel stays active (cancelling asks for confirmation and aborts the request). When the export finishes the resulting file is downloaded automatically. ### Map data export - Access: Main menu > Map data export - Keyboard shortcut: e g - URL path: `/#show=map-features-export` Opens a modal to export the user's own map data as a GPX or GeoJSON file. Only the data types that actually have something on the map are selectable: - found (planned) route, optionally including stops - objects (POIs) - photos (in the visible map area) - drawing — points, lines, polygons - live tracking - imported file - highlighted map feature The target can be a downloaded file, Google Drive, Dropbox, or Garmin Connect. Exporting a planned route to Garmin Connect as a course (experimental) requires a connected Garmin account and lets the user choose a course name and activity type (running, hiking, mountain biking, trail running, road/gravel cycling, other). ### Maps for GPS devices - Access: Main menu > Maps for GPS devices - URL path: `/#document=exports` Opens a modal with instructions to get various maps for GPS devices: - Garmin (+BaseCamp) - Locus - Orux maps - BackCountry Navigator - BikeComputer - XCTrack ### Offline maps export - Access: Main menu > Offline maps export - Keyboard shortcut: e m - URL path: `/#show=offline-map-export` Opens a modal to download a map in offline formats (MBTiles or SQLiteDB). Selection can be the current visible map area or a rectangle drawn on the map. Multiple tile-based maps are supported for download. Users can select the desired zoom range. Link to the map prepared for download will be emailed to the provided email address. ### Embed map - Access: Main menu > Embed map - Keyboard shortcut: e e - URL path: `/#show=embed` Opens a modal to configure the map for embedding into another website. Users can configure: - dimensions (w/h) - enabled features (search, map layer switch button, "find me" (locate me) button) Users can then copy and paste the generated iframe markup. ### Info & help - Access: Info & help Opens a submenu: - Map legend - Contacts - OpenStreetMap documentation - About Freemap Association - About OpenStreetMap - Map License - Keyboard Shortcuts - Garmin - Freemap.sk for Geocaching Extension Each item opens a modal with the selected topic. The **Map legend** modal is specific to the currently active map and explains its symbols, grouped into collapsible categories (e.g. Accommodation, Food & Drink, Institutions, Sports, Natural features, Other points of interest, Land cover, Water, Roads and paths, Railways, Terrain, Borders, Other). The legend content differs per map type and is also available for WMS and custom WMS maps. It can also be opened from the map's **?** help button (m l). ### Support Freemap - Access: Main menu > Support Freemap - URL path: `/#show=support-us` ### Social and app buttons At the bottom of the main menu there is a row of buttons: links to Mastodon, [Facebook](https://www.facebook.com/FreemapSlovakia), [YouTube](https://www.youtube.com/channel/UCy0FrRnqJlc96dEpDIpNhIQ) and [GitHub](https://www.github.com/FreemapSlovakia); the mobile apps on Google Play and the App Store; and a **Services status** link. ### UI theme switcher At the bottom right of the main menu, there are buttons to switch the app UI theme: Light / Dark / Auto. ### Map context menu (right-click) Right-clicking (or long-pressing) a location on the map opens a context menu with actions for that point: - Center a map here - Find coordinates and elevation - Query nearby features - Show nearby photos - Share / Open in external app (same submenu as in the main menu) - Add here a point - Start here drawing a line or measurement - Plan a route from here - Plan a route to here ### Help button A round **?** button at the bottom-right corner of the map opens a small popover with: - Copyright - Map legend (m l) - Privacy policy ## Map Layers Freemap provides numerous raster, vector, and WMS map layers with different content, coverage, and zoom levels. Each layer includes attributes describing its purpose, availability, and data sources. The map-layer switching toolbar is available at the middle bottom of the screen. Featured or user-configured maps are directly accessible as buttons in this toolbar. The toolbar also contains the following buttons: - zoom in - zoom out - find me (locate me by the browser's geolocation API) - toggle fullscreen There is also a button with three vertical dots that opens a menu listing additional maps, a "Filter maps" box, and a "Show all maps" item. The same menu includes "Offline maps" and "Map settings" items (described below). ### Map settings - Access: Maps button menu > Map settings Expands a submenu with three items, each opening its own modal: #### Configure map layers - Keyboard shortcut: m y A table of all built-in and custom map layers. For each layer the user can toggle: show in toolbar, show in menu, overlay opacity (overlays only), and a keyboard shortcut (a 🚫 marker indicates that no shortcut can be assigned). #### Custom maps - Keyboard shortcut: m c Manage user-defined map layers — a list with edit/delete actions and an **Add custom map** button. Each custom map has: - name - type (technology): Image tiles (TMS, XYZ), Vector (MapLibre), or WMS - URL (tile template for TMS/XYZ, server URL for WMS, or style URL for MapLibre) - min zoom / max native zoom - extra resolutions and "scale with DPI" - layer: base or overlay - show in menu / show in toolbar #### Preferences - Keyboard shortcut: m p - **Max zoom** — global maximum zoom level - **Resolution scale** — simulates display pixel density and affects which tile variant is fetched (Auto by default) - **Feature size** — enlarges rendered labels and lines (no effect on satellite, shading, WMS, or vector (MapLibre) layers) ### Maps Pre-defined map layers. #### Field description - **name** (human-friendly; as shown in the UI) - **id** (internal type code; used in the `layers=` URL param) - **layer** (base | overlay) — overlays are drawn on top of a base layer - **technology** (tile | maplibre | wms | parametricShading | gallery | wikipedia | wikimediaCommons | interactive) - **minZ / maxNativeZ** (minimum usable zoom / maximum native tile zoom; above maxNativeZ tiles are upscaled) - **premiumFromZ** (zoom level from which premium access is required, if any) - **creditsPerMTile** (offline-export price in credits per million tiles, if applicable) - **supersededBy** (id of the replacement layer, for legacy layers) - **shortcut** (keyboard shortcut to toggle the layer, if any; ⇧ = Shift) - **countries** (ISO 3166-1 alpha-2 codes the layer covers; blank = worldwide / not restricted) - **notes** (attribution, experimental status, coverage quirks) #### Layer registry Mirrors `src/shared/mapDefinitions.tsx`. A blank cell means the field is not set in the definition (worldwide / default / not applicable). ⇧ denotes Shift. **Base layers** | name | id | technology | minZ | maxNativeZ | premiumFromZ | creditsPerMTile | supersededBy | shortcut | countries | notes | | ---------------------------- | --- | ----------------- | ---: | ---------: | -----------: | --------------: | ------------ | -------- | ------------ | ------------------------------------------------------ | | Hiking, Bicycle, Ski, Riding | X | tile | 5 | 20 | 19 | 5000 | | x | Europe (~46) | © Freemap, OSM; multi-source national elevation/relief | | OpenStreetMap | O | tile | 0 | 19 | | | | o | | © OpenStreetMap | | Aerial | Z | tile | 0 | 20 | 20 | 1000 | | z | sk, cz | © GKÚ, NLC; © ČÚZK | | Aerial | S | tile | 0 | 19 | | | | s | | © Esri | | Aerial (2017–2019) | J1 | tile | 0 | 19 | | 1000 | Z | | sk | © GKÚ, NLC (legacy mosaic) | | Aerial (2020–2022) | J2 | tile | 0 | 19 | | 1000 | Z | | sk | © GKÚ, NLC (legacy mosaic) | | Public transport (ÖPNV) | d | tile | 0 | 18 | | | | q | | © MeMoMaps, OSM | | Detailed terrain shading | 7 | tile | 0 | 20 | 17 | 1000 | | h | sk | © Freemap; LLS DMR © ÚGKK SR | | Detailed terrain shading | 8 | tile | 0 | 18 | 16 | | | | cz | © Freemap, © ČÚZK | | Terrain shading | 5 | tile | 0 | 18 | | 1000 | | | sk | © Freemap; DMR 5.0 © ÚGKK SR | | Surface shading | 6 | tile | 0 | 18 | | 1000 | | | sk | © Freemap; DMP 1.0 © ÚGKK SR | | OpenStreetMap Vector | VO | maplibre | | | | | | | | OSM data; MapTiler | | Streets Vector | VS | maplibre | | | | | | | | OSM data; MapTiler | | Dataviz Vector | VD | maplibre | | | | | | | | OSM data; MapTiler | | Outdoor Vector | VT | maplibre | | | | | | | | OSM data; MapTiler | | Cadastre | WKA | wms | | | 15 | | | k | sk | © GKÚ | | Tree Composition | WDZ | wms | 13 | | 15 | | | | sk | © NLC Zvolen | | Forest Types | WLT | wms | 12 | | 15 | | | | sk | © NLC Zvolen | | Geological | WGE | wms | | | 15 | | | l | sk | © ŠGÚDŠ | | Hydrochemic | WHC | wms | | | 15 | | | w | sk | © ŠGÚDŠ | **Overlay layers** | name | id | technology | minZ | maxNativeZ | premiumFromZ | creditsPerMTile | supersededBy | shortcut | countries | notes | | -------------------------- | --- | ----------------- | ---: | ---------: | -----------: | --------------: | ------------ | -------- | --------- | ---------------------------------------------------------- | | Data layer | i | interactive | | | | | | ⇧d | | Interactive items of all tools (drawing, route, search, …) | | Photos | I | gallery | 0 | | | | | ⇧f | | CC BY-SA 4.0 (user photos); premium-only photos option | | Wikipedia | w | wikipedia | 8 | | | | | ⇧w | | Wikipedia | | Wikimedia Commons photos | M | wikimediaCommons | 13 | | | | | ⇧m | | Wikimedia Commons | | Forest tracks NLC (2017) | l1 | tile | 11 | 15 | | 1000 | l2 | | sk | © NLC Zvolen (legacy) | | Forest tracks NLC | l2 | maplibre | 8 | | | | | ⇧n | sk | © NLC Zvolen | | Parametric shading | h | parametricShading | | 13 | | | | ⇧h | | Experimental; © Freemap, GEDTM30 (Europe) | | Parametric shading | y | parametricShading | | 19 | 13 | | | ⇧y | sk | Experimental; © Freemap; LLS DMR © ÚGKK SR | | Parametric shading | z | parametricShading | | 18 | 13 | | | | cz | Experimental; © Freemap, © ČÚZK | | Cadastre | wka | wms | | | 15 | | | ⇧k | sk | © GKÚ (cadastre over aerial) | Notes: - The `i` (Data layer) overlay hosts every tool's interactive features; hiding it hides those features without disabling the tools. - The single `X` "Outdoor" base map renders hiking, bicycle, ski and riding trails together — there are no longer separate per-activity trail layers. ##### Internal layer codes The id values above are used in deep links via the `layers=` URL param: one base-layer code, optionally followed by `~` and the concatenated overlay codes (e.g. `layers=X~I` = Outdoor base + Photos overlay). They are **advisory** for interpreting links and do **not** grant permission to scrape tiles or data; respect each layer's attribution and license. ## Links - [Freemap.sk](https://www.freemap.sk/): the web map application described in this document - [Freemap Slovakia on GitHub](https://www.github.com/FreemapSlovakia): source code and issue tracker - [Freemap Slovakia on Facebook](https://www.facebook.com/FreemapSlovakia) - [Freemap Slovakia on YouTube](https://www.youtube.com/channel/UCy0FrRnqJlc96dEpDIpNhIQ) - [OpenStreetMap](https://www.openstreetmap.org/): underlying map data source - [OpenStreetMap Wiki](https://wiki.openstreetmap.org/wiki/Main_Page): OpenStreetMap documentation