1

实现实时协作地图应用程序的最佳方法是什么?在 Google 或 Bing 地图 API 之上构建它可能有哪些不同的方法,这些 API 是否提供任何方便的方法来聚合来自不同用户的数据?我可以想象地图 API 本身存在不同级别的集成,以及可能执行类似操作的现有软件。任何指示或提示都会有所帮助。

背景:Google Docs 等协同编辑软件允许一群人实时编辑一个文档,并负责同时输入和显示其他用户的进度和光标等事情。我想用一个地图应用程序做类似的事情,一群人可以一起在地图上实时标记和注释位置。这个想法是在自然灾害或其他需要对大量地理数据进行映射和分类的大型事件后立即支持大规模众包映射。

此应用程序需要在浏览器中运行。同步级别不必像谷歌文档那样集成——也就是说,只要地图上实时显示内容,我们就不必查看用户在哪里编辑以及他们在哪里打字。但是,它确实需要与地图 API 集成,因此它比使用直接的协作文本编辑器更具挑战性,因为它有示例可用。

在四处搜索中,我找到了许多类型的协作文本编辑的示例源代码,其中具有可用源代码的 Web 应用程序的最佳示例是Etherpad。但是,我需要将这个想法应用于映射问题。在地图 API 和指向现有示例的指针之上构建实时应用程序的可能方法是什么?

更新:对于感兴趣的人,我最终在 Meteor 之上使用 OpenLayers 构建了它:https ://github.com/mizzao/CrowdMapper 。随意检查一下。

4

5 回答 5

3

无论如何都不是一个完整的答案,但人们正在用Meteor做一些很酷的事情:

http://www.fargeo.com/blog/using-meteor-for-real-time-geospatial-data/

http://meteor.com/#examples/parties

于 2013-06-04T15:37:09.167 回答
1

鉴于您提供的用例场景,您可以尝试联系 Open Street Map 的人道主义响应团队,他们使用 OSM 作为危机响应情况下的协作地图数据收集和传播工具:http ://wiki.openstreetmap.org/wiki/ Humanitarian_OSM_Team

它不是严格实时的,但如果您托管自己的 OSM 服务器,则可以设置每次提交更新时重新生成地图图块,然后所有用户都会收到地图的最新视图。

于 2013-06-05T06:01:04.867 回答
0

实现协作部分的后端解决方案是 google realtime api https://developers.google.com/drive/realtime/realtime-quickstart

还有火力基地: https ://www.firebase.com/how-it-works.html

我不知道这将如何实现,但如果您知道如何将地图的编辑内容存储在数据结构上,您所需要做的就是将该数据结构与上述 API 之一联系起来,您基本上就完成了。

于 2013-08-05T13:08:41.620 回答
0

这是一个链接http://scholar.lib.vt.edu/theses/available/etd-05032001-113750/unrestricted/FinalThesis.pdf
你可以浏览这个 PDF。
它让您深入了解协作编辑器的工作原理和方式。
它提供了有关他们正在使用的架构和设计的详细信息。

于 2013-09-13T15:30:52.293 回答
0

这相当简单。

  • 步骤 1. 创建一个包含条目的数据库
  • 步骤 2. 创建一个地图,从数据库中的记录中填充点
  • 步骤 3. 为人们创建一个界面以将项目添加到数据库(实时)。
于 2013-06-04T15:41:42.950 回答