我正在使用 Google 地图突出显示一些国家,并使用 Fusion Tables 来获取几何图形。您可以在此处查看一个示例:
http://jsfiddle.net/4mtyu/689/ http://jsfiddle.net/4mtyu/689/
var layer = new google.maps.FusionTablesLayer({
query: {
select: locationColumn,
from: tableId,
where: "ISO_2DIGIT IN ('AF','AL','DZ','AD','AO','AG','AR','AM','AU','AT','AZ','BS','BH','BD','BB','BY','BE','BZ','BJ','BT','BO','BA','BW','BR','BN','BG','BF','BI','KH','CM','CA','CV','CF','TD','CL','CN','CO','KM','CG','CD','CR','HR','CU','CY','CZ','DK','DJ','DM','DO','EC','EG','SV','GQ','ER','EE','ET','FJ','FI','FR','GA','GM','GE','DE','GH','GR','GD','GT','GN','GW','GY','HT','HN','HU','IS','IN','ID','CI','IR','IQ','IE','IL')"
},
options : {suppressInfoWindows:true},
styles: [{
polygonOptions: {
fillColor: "#000000",
strokeWeight: "0",
fillOpacity: 0.4
}
}]
});
当我试图从桌子上拿太多东西时,问题就开始了。 Google 使用包含所有查询值的 URL 来获取所需的数据,并且通过 URL 编码,它的长度可能会变得相当大。
如果您打开控制台并检查错误中抛出的 URL,则可以在此处看到 URL 示例:
http://jsfiddle.net/4mtyu/690/ http://jsfiddle.net/4mtyu/690/
在该特定示例中生成的 URL 为 3749 个字符,远远超出了 2048 个字符的限制。
有人对如何防止 URL 变得这么大但同时仍然能够选择 150 多个项目有任何想法吗?