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

Better solution for loading data onto a map

本文关键字:更好 解决方案 地图 数据 加载      更新时间:2023-09-26

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

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

我做的下一件事是开始批量加载记录(一次加载几百条)。因此,图钉几乎立即出现,但同样,完全加载数据集需要很长时间。

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

提前感谢!

您有几种解决方案来实现您想要做的事情,但主要问题是,您真的需要在地图控件上显示20k图钉并同时显示它们吗?我敢肯定,它将缺乏可读性,并增加性能成本,您可能会考虑动态限制将显示的元素数量,并只加载那些真正可以看到的元素。

1:客户端集群

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

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

每次触发"onviewchanged"时,都可以调用AJAX来刷新信息并清除之前添加的pin。此外,如果你是一个缩放级别,或者在一个必须显示每个图钉的特定区域,你可以创建图钉集群,这样你只会显示一个图钉,上面写着"这里有12个图钉"。我相信你明白了。

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

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