2012-02-08 84 views
1

我正在尝试使用“IN”运算符从Fusion表中提取数据。当我查看一个非常大的字符串(2000多个邮政编码)时,没有任何回复。当我查看一个简短的字符串(两个邮政编码)时,它可以正常工作。限于Fusion Tables中的查询长度?

例如,这个工程:

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文档中找到限制。

+0

嘿,你有没有找到解决这个问题的办法? – dang 2016-10-25 16:00:01

回答

2

这听起来像是你正在达到最大URL长度(2048个字符)。

发送到Fusion Tables图层的查询将添加到每个图块图像的URL中。如果查询时间太长,则每个图块图片的网址超出网址限制,图片将不会显示。

+2

需要一些建议来避免这种情况? – 2012-09-11 13:49:14

+0

关于如何解决此问题的任何想法? – dang 2016-10-25 16:00:15