限制在Fusion Tables中的查询长度?

时间:2012-02-08 18:36:57

标签: javascript google-fusion-tables

我正在尝试使用“IN”运算符从Fusion Table获取数据。当我查看非常大的字符串(2000+邮政编码)时,不会返回任何内容。当我查看一个短字符串(两个邮政编码)时,它可以正常工作。

例如,这有效:

var zip = "76364,76373";
layer = new google.maps.FusionTablesLayer(tableid);
layer.setQuery("SELECT 'geometry' FROM " + tableid + " WHERE ZIP IN("+zip+")");
layer.setMap(map);

但这不是:

var zips = <?php echo $zips; ?>; //$zips is a JSON array
zips = zips.join();
layer = new google.maps.FusionTablesLayer(tableid);
layer.setQuery("SELECT 'geometry' FROM " + tableid + " WHERE ZIP IN("+zips+")");
layer.setMap(map);

我在Firebug中遇到400错误。

我无法在Google文档中找到限制。

1 个答案:

答案 0 :(得分:2)

听起来你达到了最大网址长度(2048个字符)。

发送到Fusion Tables Layer的查询将添加到每个图块图像的URL中。如果查询太长,则每个图块图像的URL超出URL限制,并且不会显示图像。