我正在从PostGIS数据库加载很多点,多边形和线条到谷歌地图。如果我加载整个数据库,它将杀死浏览器,所以我正在寻找一种只在用户可以看到的区域加载的方法。有没有办法实现这个目标?
我正在使用GMaps3来显示数据,RGeo,PostGIS和Rails 3.
答案 0 :(得分:1)
您可以通过ajax加载积分。
观察地图的bounds_changed
- 事件,将边界发送到服务器并让服务器响应点(按给定边界过滤)。过滤的工作原理我无法准确地告诉您,因为我对PostGIS不熟悉,但ST_CONTAINS似乎是您需要的方法。
但是,用户可能会缩放到非常低的水平,在这种情况下,您仍会获得大量的分数,但您可以另外将点的加载限制为更高的缩放级别。
另一种选择(我更喜欢):将数据导入FusionTable并使用FusionTableLayer,这样可以提供更好的性能。