Awesome
About
This is an open source project based on Laravel 8 (upgraded from 5.7). Feel free to fork and use! This repo is the code behind Cartes.io.
The API docs are available in our wiki.
Want to just test out the site? There's a demo map, or you can create your own map.
Using Cartes.io
You are free to use Cartes.io and/or it's API free of charge. No authentication is required.
Please consider donating/sponsoring the project!
Use cases
You can create maps for anything! You can explore the existing public maps on the site, or get inspired with a few ideas here:
- Do you have a couple of favorite restaurants? Create a map marking the spot so that you can always check back in and share your discoveries with friends
- Friends/family from out of town coming to visit you? Create a map with all the helpful local destinations, like the best bakery or the nearest family doctor
- Going hiking? Create a map showing where you plan to be, and regularly create new markers as you pass important checkpoints. Share the map with friends/family in case you get lost
- Does your town have a few "little free libraries"? Create a map of where they are and share it with your community on Facebook or wherever
- Going out to protest? Create a public community-driven map so that everyone can mark dangerous markers and be aware of what's going on when and where
- Own a fleet of vehicles? Create markers for each vehicle and add new locations to each marker as the vehicle moves! You'll have a history of locations for each vehicle and you'll be able to see where its been, and when
Notable maps created
Some awesome maps have already been created by the community and shared publicly.
Note, to see markers on some of these maps, you need to go into "Map display options", and then check the "Show all markers" checkbox.
- Ukraine crisis: Live tracking from multiple sources of the unfolding events in Ukraine
- Coronavirus Drive-Thru testing points: This map shows identified Coronavirus drive-thru testing points around the world.
- Twin Cities riots: This map evolved from the Minnesota protests and was used by locals to mark dangerous markers as they happend. 135 events were reported.
- Places to get help in Beirut: Following the 2020 explosion in Beirut, this map was created to raise awareness within the local community on where they can get help.
- Little free libraries on the French Riviera: This map shows the locations of public little free libraries - a box where you can leave and borrow books out in the open.
- The hardest airports to fly in to: Here's a non exhaustive map of some of the hardest places to land a plane around the world!
Interact with in Python
See the Cartes.io package at https://pypi.org/project/py-cartes-io/ - pip install py-cartes-io
, which allows you to interact with the Cartes.io API in a fluent Pythonic way.
Interact with in JS
See the Cartes.io NPM package at https://www.npmjs.com/package/@m-media/npm-cartes-io - npm install @m-media/npm-cartes-io
, which allows you to interact with the Cartes.io API in a fluent way in JS.
Interact with using iFrames
Cartes.io supports embedding maps on any site and also sends postMessages so your site can listen to map events. See the iFrame docs.
Development installation
After running composer and npm, run the following commands to create the permissions and roles:
- php artisan migrate
- php artisan make:permissions
Running the tests
Run tests with composer test
.
Roadmap
The general plan is that this repo will be simplified to containing just the core app and its API, while the frontend will be developed in a seperate repo, here. If you're a frontend developer, please feel free to contribute on that repo to the development of the web-app.
Thanks to
open-elevation.com - used to get elevation data for a given point nominatim.openstreetmap.org - used to geocode marker locations
Getting support
Join our Discord https://discord.gg/GXP663Rw2W