将数据加载到地图上的更好解决方案

Better solution for loading data onto a map

我想问一下有没有人知道解决我的问题的好方法。 我有一个带有 Bing 地图的 Rails 项目,我需要在其中加载大约 20000 个图钉。

我的问题是数据加载速度。我试图通过仅包含记录的必填字段(id、纬度、经度)来优化加载时间。它有所不同,但仍然不是一个好的加载时间。

接下来我要做的是 - 开始分批加载记录(一次几百条)。结果,图钉几乎立即开始显示,但再次需要很长时间才能完全加载数据集。

如果有任何关于更好的数据加载方式的建议,我将不胜感激。

提前致谢!

您有多种解决方案来实现您的目标,但主要问题是,您真的需要将 20k 图钉显示到地图控件上并同时显示它们吗?我很确定它会缺乏可读性并增加性能成本,您可以考虑动态限制将显示的元素数量并仅加载真正可以看到的元素。

1:客户端集群

使用您自己的实现或此处提供的 Bing 地图模块:http://bingmapsv7modules.codeplex.com/wikipage?title=Client%20Side%20Clustering,您可以创建集群以简化图钉的数据操作和渲染。

2:动态加载(服务器端裁剪和集群)

每次触发 'onviewchanged' 时,您都可以调用 AJAX 来刷新信息并清除之前添加的引脚。此外,如果您处于缩放级别或在必须显示每个图钉的特定区域中,您可以创建一组图钉,这样您将只显示一个显示 'there are 12 pins in here' 的图钉。我相信你明白了。

3:在服务器端或客户端组合动态磁贴

如果您需要显示所有内容,最新的解决方案是根据您的用例在服务器端或客户端的动态图块上绘制内容,请参阅:http://www.web-maps.com/gisblog/?p=1605