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

时间:2015-03-18 04:11:12

标签: javascript ruby-on-rails json maps bing-maps

我想问一下是否有人知道我的问题的一个很好的解决方案。 我有一个带有Bing地图的Rails项目,我需要加载大约20000个图钉。

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

我已经完成的下一件事 - 开始批量加载记录(一次几百个)。结果,图钉几乎立即开始出现,但同样,完全加载数据集需要很长时间。

我非常感谢有关更好地加载数据的方法的任何建议。

提前致谢!

1 个答案:

答案 0 :(得分:0)

你有几个解决方案可以实现你想要做的但主要的问题是,你真的需要在地图控件上显示20k图钉并一次显示它们吗?我很确定它缺乏可读性并增加了性能成本,你可能会考虑动态地限制将要显示的元素数量,并仅加载那些真正可以看到的元素。

1:客户端群集

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

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

每次触发'onviewchanged',您都可以进行AJAX调用以刷新信息并清除之前添加的引脚。此外,如果您是缩放级别或在必须显示每个图钉的特定区域,您可以创建图钉集群,这样您将只显示一个图钉,其中显示“此处有12个图钉”。我相信你明白了。

3:在服务器端或客户端编写动态磁贴

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