编程语言
首页 > 编程语言> > javascript – 限制在Fusion Tables中的查询长度?

javascript – 限制在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文档中找到限制.

解决方法:

听起来你达到了最大URL长度(2048个字符).

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

标签:javascript,google-fusion-tables
来源: https://codeday.me/bug/20190926/1819383.html