1

我想使用谷歌地图和融合表创建一个网站,用户可以在地图上留下带有消息的标记,以便其他用户能够在他们的地图上看到这个标记。所有这些都是实时的。

我已经创建了一个小型原型。我有一个问题:谷歌对使用 FT 有限制

因此,用户将无法看到放置超过 100.000 个的标记:

  • 只有表中的前 100,000 行数据被映射或包含在查询结果中。
  • 使用空间谓词的查询仅返回前 100,000 行中的数据。

因此,如果您将筛选器应用于非常大的表并且筛选器匹配前 100K 之后的行中的数据,则不会显示这些行。

我怎样才能克服这个限制?或者最好创建我自己的数据库并使用标记集群来处理大量标记,从而忘记 FT?

4

2 回答 2

1

AFAIK 没有办法绕过 100K 的限制。也许一个花钱的 Google Premier 许可证可以让你克服这个问题,我不确定。另一种可能性是维护 5 个融合表,每个表最多有 100K 行。您可以通过 GMap API 一次显示 5 个 Fusion Table 图层。不明白为什么这不起作用。您只需要针对所有当前图层运行查询代码。我已经用 2 层(都比 100K 小得多)做到了这一点,但效果很好。

于 2012-04-07T11:06:13.720 回答
0

从最广泛的角度来看,如果您受到 100k 限制的威胁,请使用以下算法

联合(最新的 50k 记录,从所有较旧的随机样本 50k 记录)

并绘制这个“有限”集。视图实际上不可能向您的用户显示每个点。

当他放大时,通过 JS 获取当前的查看尺寸,并从查看区域内的那些中过滤您的数据库记录。

这意味着,您首先要调用以查看过滤器是否返回 100k(因此意味着可能有 100k+ 条记录可以显示)再次应用随机采样算法以减少到 100k。如果过滤器返回 <100k,那么您不再需要随机采样,并且您不再受到限制的威胁。

于 2013-08-20T17:01:37.113 回答