仅加载从Rails中的PostGIS映射所需的点

时间:2013-02-23 08:41:53

标签: ruby-on-rails google-maps postgis

我正在从PostGIS数据库加载很多点,多边形和线条到谷歌地图。如果我加载整个数据库,它将杀死浏览器,所以我正在寻找一种只在用户可以看到的区域加载的方法。有没有办法实现这个目标?

我正在使用GMaps3来显示数据,RGeo,PostGIS和Rails 3.

1 个答案:

答案 0 :(得分:1)

您可以通过ajax加载积分。

观察地图的bounds_changed - 事件,将边界发送到服务器并让服务器响应点(按给定边界过滤)。过滤的工作原理我无法准确地告诉您,因为我对PostGIS不熟悉,但ST_CONTAINS似乎是您需要的方法。

但是,用户可能会缩放到非常低的水平,在这种情况下,您仍会获得大量的分数,但您可以另外将点的加载限制为更高的缩放级别。

另一种选择(我更喜欢):将数据导入FusionTable并使用FusionTableLayer,这样可以提供更好的性能。