Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 融合表的局限性_Php_Javascript_Google Maps_Google Fusion Tables - Fatal编程技术网

Php 融合表的局限性

Php 融合表的局限性,php,javascript,google-maps,google-fusion-tables,Php,Javascript,Google Maps,Google Fusion Tables,我想创建一个网站,使用谷歌地图和融合表,用户可以在地图上留下一个带有信息的标记,这样其他用户就可以在地图上看到这个标记 他们的地图。所有这些都是实时的 我已经创建了一个小型原型。 我有一个问题:谷歌有一个 因此,用户将无法看到放置超过100.000个的标记: 仅映射或包含表中的前100000行数据 在查询结果中 使用空间谓词的查询仅从该空间中返回数据 前100000行 因此,如果将筛选器应用于非常大的表,并且筛选器与行中的数据相匹配 在第一个100K之后,将不显示这些行 我如何克服这个限制?

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

我已经创建了一个小型原型。 我有一个问题:谷歌有一个

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

  • 仅映射或包含表中的前100000行数据 在查询结果中
  • 使用空间谓词的查询仅从该空间中返回数据 前100000行
因此,如果将筛选器应用于非常大的表,并且筛选器与行中的数据相匹配 在第一个100K之后,将不显示这些行

我如何克服这个限制? 或者最好创建自己的数据库,并使用标记集群处理大型数据库
标记的数量,因此要忘记FT?

AFAIK,没有办法绕过100K限制。我不确定,也许谷歌卓越许可证(Google Premier license)会让你克服这个问题,这需要花费很多钱。另一种可能性是维护5个Fusion表,每个表最多有100K行。您可以通过GMAPAPI一次显示5个Fusion表层。我不明白这为什么行不通。您只需针对所有当前层运行查询代码。我使用了两层(都比100K小很多),但效果很好。

AFAIK没有办法绕过100K限制。我不确定,也许谷歌卓越许可证(Google Premier license)会让你克服这个问题,这需要花费很多钱。另一种可能性是维护5个Fusion表,每个表最多有100K行。您可以通过GMAPAPI一次显示5个Fusion表层。我不明白这为什么行不通。您只需针对所有当前层运行查询代码。我使用了两层(都比100K小很多),但效果很好。

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

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

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

当他放大时,通过JS获取当前的查看维度,并从查看区域中过滤DB记录


这意味着,首先您要调用以查看过滤器是否返回100k(因此可能会显示100k+记录),再次应用随机采样算法以减少到100k。如果过滤器在您最广泛的视野中返回,您受到100k限制的威胁,请使用以下算法

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

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

当他放大时,通过JS获取当前的查看维度,并从查看区域中过滤DB记录


这意味着,首先您要调用以查看过滤器是否返回100k(因此可能会显示100k+记录),再次应用随机采样算法以减少到100k。如果过滤器返回,这里是JS事件的文档,这里是JS事件的文档