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