2012-02-08 81 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