I am attempting to fetch data from a Fusion Table, using an "IN" operator. When I am looking in a very large string (2000+ zip codes), nothing is returned. When I look in a short string (two zip codes), it works correctly.
For example, this works:
var zip = "76364,76373";
layer = new google.maps.FusionTablesLayer(tableid);
layer.setQuery("SELECT 'geometry' FROM " + tableid + " WHERE ZIP IN("+zip+")");
layer.setMap(map);
But this does not:
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);
I get a 400 error in Firebug.
I have not been able to find a limit in Google documentation.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…