{"id":13465990,"url":"https://github.com/nextcloud/maps","last_synced_at":"2025-10-19T22:03:21.631Z","repository":{"id":37432262,"uuid":"71472154","full_name":"nextcloud/maps","owner":"nextcloud","description":"🌍🌏🌎 The whole world fits inside your cloud!","archived":false,"fork":false,"pushed_at":"2025-04-10T01:22:48.000Z","size":54946,"stargazers_count":523,"open_issues_count":222,"forks_count":92,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-10T02:38:09.559Z","etag":null,"topics":["gps","gpx","graphhopper","hacktoberfest","location","map","mapbox","maps","nextcloud","nextcloud-app","osrm","photos","routing","tracking"],"latest_commit_sha":null,"homepage":"https://apps.nextcloud.com/apps/maps","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["eneiluj","jancborchardt","tacruc"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2016-10-20T14:36:54.000Z","updated_at":"2025-04-10T01:22:51.000Z","dependencies_parsed_at":"2023-09-24T04:31:25.080Z","dependency_job_id":"8a902b50-541e-42cc-90ec-d97e7236e8b7","html_url":"https://github.com/nextcloud/maps","commit_stats":{"total_commits":4043,"total_committers":65,"mean_commits":62.2,"dds":0.4872619342072718,"last_synced_commit":"2b0e42512e6c69166e3e73637f3c65f3c984c03b"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fmaps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fmaps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fmaps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fmaps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextcloud","download_url":"https://codeload.github.com/nextcloud/maps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248892792,"owners_count":21178888,"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":["gps","gpx","graphhopper","hacktoberfest","location","map","mapbox","maps","nextcloud","nextcloud-app","osrm","photos","routing","tracking"],"created_at":"2024-07-31T15:00:37.723Z","updated_at":"2025-10-19T22:03:16.599Z","avatar_url":"https://github.com/nextcloud.png","language":"JavaScript","readme":"# Nextcloud Maps\n\n**With MapLibre-GL support**\n\n**🌍🌏🌎 The whole world fits inside your cloud!**\n\n![](screenshots/screenshot1.png)\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.\n\nFuture plans:\n- **📆 Events on the map:** Know where you need to go next!\n- **🗺 Different projections:** The [Mercator projection](https://en.wikipedia.org/wiki/Mercator_projection) is very biased, as you can see from [The True Size of Africa](http://kai.sub.blue/en/africa.html). Another view like the [Gall-Peters projection](https://en.wikipedia.org/wiki/Gall%E2%80%93Peters_projection) would be a possibility.\n\n## User Documentation\n### My Maps\nCustom maps are stored by default in the \"/Maps\" folder. This folder can be found in the\nfiles app. Other folders turned into map by placing a \".index.maps\" file into it.\nContent can therefore be added via:\n - Webdav (Desktop and Mobile clients)\n - Files app\n - Maps app\n\nCustom maps can then be shared from the maps or any other app.\n\n#### Sharing map\nMaps can be shared using the nextcloud sharing system.\n![](screenshots/shareMap.gif)\n\n#### Favorites on custom map\nFavorites on custom the custom maps are stored in the .favorites.json file.\n\nShared favorite categories can be linked to a custom map.\nLinked favorite categories are read-only.\nThey can be edited on the owners default map.\nThese links are stored in the \".favorite_shares.json\".\n![](screenshots/addFavorites.gif)\n\n\n#### Contacts on custom map\nContacts on custom maps are stored as vCards (*.vfc) files.\n![](screenshots/addContacts.gif)\n\n#### Tracks on custom map\nTracks on custom map are stored as \"*.gpx files\".\n![](screenshots/addTracks.gif)\n\n#### Photos on custom map\nPhotos are stored in the corresponding folder.\nThey can be added from files\n![](screenshots/addPhotosFromFiles.gif)\nor from maps\n![](screenshots/addPhotosFromMap.gif)\nExisting photo albums can be viewed\non the map by placing a \".index.maps\" file into it.\n![](screenshots/photoAlbumOnMap.gif)\n\nScanning photos take time. Therefore photos are scanned in the background.\nAfter adding photos it might take a while,\nuntil the scan is done and the photos are shown on the map.\n\n## 🏗 Development setup\n\nThis requires that you [install node and npm](https://www.npmjs.com/get-npm).\n\n1. ☁ Clone this app into the `apps` folder of your Nextcloud: `git clone https://github.com/nextcloud/maps.git`\n2. 👩‍💻 In the folder of the app, run the command `make` to install dependencies and build the Javascript.\n3. ✅ Enable the app through the app management of your Nextcloud\n4. 🎉 Partytime! Help fix [some issues](https://github.com/nextcloud/maps/issues) and [review pull requests](https://github.com/nextcloud/maps/pulls) 👍\n\n## Admin documentation\n\nMedia scans are performed with the regular system background job.\n\nScans can also be manually triggered via occ command:\n\n\n`./occ maps:scan-photos` to rescan photos' GPS exif data\n\n`./occ maps:scan-tracks` to rescan track files\n","funding_links":["https://github.com/sponsors/eneiluj","https://github.com/sponsors/jancborchardt","https://github.com/sponsors/tacruc"],"categories":["Apps","JavaScript","hacktoberfest"],"sub_categories":["Official"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fmaps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextcloud%2Fmaps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fmaps/lists"}