{"id":15540281,"url":"https://github.com/rm-hull/maps","last_synced_at":"2026-01-07T10:36:27.671Z","repository":{"id":145431008,"uuid":"601326722","full_name":"rm-hull/maps","owner":"rm-hull","description":"UK Ordance Survey maps, supporting multiple styles and points of interest.","archived":false,"fork":false,"pushed_at":"2024-10-02T17:36:53.000Z","size":34467,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-03T12:17:26.307Z","etag":null,"topics":["github-pages","mapping","ordnance-survey","react","typescript","uk"],"latest_commit_sha":null,"homepage":"https://www.destructuring-bind.org/maps/","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rm-hull.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-13T20:45:05.000Z","updated_at":"2024-10-02T15:37:49.000Z","dependencies_parsed_at":"2023-12-18T18:47:00.858Z","dependency_job_id":"d0880223-cef3-4cfd-86ed-6106acf56e0f","html_url":"https://github.com/rm-hull/maps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fmaps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fmaps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fmaps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-hull%2Fmaps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rm-hull","download_url":"https://codeload.github.com/rm-hull/maps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246117762,"owners_count":20726069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-pages","mapping","ordnance-survey","react","typescript","uk"],"created_at":"2024-10-02T12:13:25.503Z","updated_at":"2026-01-07T10:36:27.659Z","avatar_url":"https://github.com/rm-hull.png","language":"TypeScript","readme":"# UK Ordnance Survey Maps\n\nThis is a web application that displays UK Ordnance Survey (OS) maps, supporting multiple map styles, points of interest, and GPS track integration.\n\n- **Live Site:** https://www.destructuring-bind.org/maps/\n\nBy default, the map will center on Ambleside. You can specify a starting location by adding a town name or postcode to the URL, for example:\n\n- https://www.destructuring-bind.org/maps/Nottingham\n- https://www.destructuring-bind.org/maps/PH1+1BD\n\n![Leisure Map](./doc/screenshots/maps_leisure.webp)\n_Leisure Map Style_\n\n![Roads Map](./doc/screenshots/maps_roads.webp)\n_Roads Map Style_\n\n## Features\n\n*   **Multiple Map Styles:** Switch between different OS map styles, including Leisure and Roads.\n*   **Location Search:** Search for towns and postcodes across the UK.\n*   **Points of Interest:** Display photos from [Geograph](https://www.geograph.org.uk/) as points of interest on the map.\n*   **GPS Tracking:** Show your current location on the map.\n*   **GPS Route Display:** Load and display GPS tracks from GPX and KML files.\n*   **Measurement Tool:** Measure distances on the map.\n\n## Key Technologies\n\n*   **Framework:** React\n*   **Language:** TypeScript\n*   **Build Tool:** Vite\n*   **Mapping:** Leaflet.js, React-Leaflet, maplibre-gl\n*   **UI:** Chakra UI\n*   **State Management:** Jotai\n*   **Data Fetching:** React Query\n\n## Running Locally\n\nTo run the application locally, follow these steps:\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/r-hull/maps.git\n    cd maps\n    ```\n\n2.  **Create an environment file:**\n\n    Create a `.env` file in the root of the project with the following content:\n\n    ```env\n    VITE_OS_DATAHUB_API_KEY=\u003cyour OS Datahub API key here\u003e\n    VITE_GEOGRAPH_API_KEY=\u003cyour Geograph API key here\u003e\n    ```\n\n    You will need to sign up for free accounts on the [OS DataHub](https://osdatahub.os.uk/) and [Geograph UK](https://www.geograph.org.uk/) to obtain these API keys.\n\n3.  **Install dependencies:**\n    ```bash\n    yarn install\n    ```\n\n4.  **Run the development server:**\n    ```bash\n    yarn dev\n    ```\n\n    The application will be available at http://localhost:5173 (or the next available port).\n\n## Hosting Yourself\n\nThis project includes a GitHub Actions workflow to automatically deploy the application to GitHub Pages.\n\n1.  **Fork the repository.**\n2.  **Enable GitHub Pages:** In your repository settings, under \"Pages\", set the source to \"GitHub Actions\".\n3.  **Create repository secrets:** In your repository settings, under \"Secrets and variables\" \u003e \"Actions\", create the following secrets:\n    *   `VITE_OS_DATAHUB_API_KEY`: Your OS Datahub API key.\n    *   `VITE_GEOGRAPH_API_KEY`: Your Geograph API key.\n\nThe workflow will then build and deploy the application automatically.\n\n## Attribution\n\n*   Leaflet marker icons sourced from [pointhi/leaflet-color-markers](https://github.com/pointhi/leaflet-color-markers).\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE.md](LICENSE.md) file for details.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frm-hull%2Fmaps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frm-hull%2Fmaps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frm-hull%2Fmaps/lists"}