0

我正在将 PostGIS 数据库中的大量点、多边形和线加载到谷歌地图中。如果我加载整个数据库,它会杀死浏览器,所以我正在寻找一种仅在用户可以看到的区域中加载的方法。有没有办法做到这一点?

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

4

1 回答 1

1

您可以通过 ajax 加载积分。

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

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

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

于 2013-02-23T10:42:23.180 回答