Implementing a collaborative real-time mapping application
Implementing a collaborative real-time mapping application
What's the best approach for implementing a real-time collaborative mapping application? What are possible different approaches to build it on top of the Google or Bing maps API, and do these APIs provide any convenient ways to aggregate data from different users? I can imagine that there are different levels of integration with a maps API itself, and possible existing software that does similar things. Any pointers or tips would be helpful.
Background: Google Docs and other collaborative editing software allow a group of people to edit a document in real time, and takes care of things such as simultaneous input and displaying the progress and cursor of other users. I want to do something similar with a mapping application, where a bunch of people can tag and annotate locations on a map, together, in real time. The idea is to support large-scale crowdsourced mapping immediately after natural disasters or other large events where a huge amount of geographical data needs to be mapped and classified.
This app needs to run in the browser. The level of synchronicity doesn't have to be as integrated as Google docs - i.e., as long as things appear on the map in real-time, we don't necessarily have to see where users are editing and where they are typing. However, it does need to be integrated with a maps API so it is more challenging than using a straight collaborative text editor, for which examples are available.
In searching around, I found example source code for many types of collaborative text editing, of which the best example of a web app with source code available was Etherpad. However, I need to apply this idea to a mapping problem. What are possible ways to build a real-time app on top of a maps API and pointers to existing examples?
UPDATE: For people who are interested, I ended up building this with OpenLayers on top of Meteor: https://github.com/mizzao/CrowdMapper. Feel free to check it out.
Answer by Shaun for Implementing a collaborative real-time mapping application
Not a complete answer by any stretch, but people are doing cool things with Meteor:
http://www.fargeo.com/blog/using-meteor-for-real-time-geospatial-data/
Answer by Smeegs for Implementing a collaborative real-time mapping application
This is fairly simple.
- Step 1. Create a database that houses the entries
- Step 2. Create a map that populates the points from the records in the database
- Step 3. Create an interface for people to add items to the database (in real-time).
Answer by Alastair Aitchison for Implementing a collaborative real-time mapping application
Given your provided use-case scenario, you could try contacting the humanitarian response team at Open Street Map, who use OSM as a collaborative map data collection and dissemination tool in crisis response situations: http://wiki.openstreetmap.org/wiki/Humanitarian_OSM_Team
It's not strictly realtime, but if you host your own OSM server you could set map tiles to be regenerated every time updates were submitted and all users would then receive the latest view of the map.
Answer by Giannis for Implementing a collaborative real-time mapping application
Back-end solutions for implementing the collaboration part would be google realtime api https://developers.google.com/drive/realtime/realtime-quickstart
and also firebase: https://www.firebase.com/how-it-works.html
I dont know how this would be implemented, but if you know how to store the edits of the map on a datastructure, all you need to do is tie that data structure with one of the above APIs and you are basically almost done.
Answer by Abhishek for Implementing a collaborative real-time mapping application
Here's a link http://scholar.lib.vt.edu/theses/available/etd-05032001-113750/unrestricted/FinalThesis.pdf
You can go through this PDF.
It gives you an insight of what and how a collaborative editor works.
It gives details about architecture and design they are using.
Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72
0 comments:
Post a Comment