我有一个谷歌地图,它从 Fusion Tables 中提取数据并显示它。当您单击一个多边形时,地图会放大并显示该原始多边形内的更多多边形。这是使用两个单独的 Fusion Tables 和一些 jquery 来完成的。
我的问题是试图只显示原始多边形内的多边形,而不是整个集合(例如,只显示单击状态内的县,而不是美国的所有县)。使用代码 xxyy 存储子多边形,其中 xx 是原始多边形,yy 是子多边形(因此 1001 将是第 10 个州和该州内的第一个县)。
如何使用 Fusion Tables “like SQL”脚本,仅提取代码前两位数字等于特定数字的子多边形?这是我尝试过的:
map.setOptions({
'query':
{
select: 'geometry',
from: ftnumber,
where: "'name' starts with " + stateCode
}
});
name 是具有 4 位代码的列, stateCode 是一个变量,其中存储了状态的 2 位代码。
我也试过:
map.setOptions({
'query':
{
select: 'geometry',
from: ftnumber,
where: "'name' like " + stateCode + "__"
}
});
第二个选项更可取(如果可能的话),因为如果需要,我可以使用该语法进一步向下钻取。
最终解决方案:
- 列“名称”设置为数字
查询是
stateCodeHigh = stateCode + 100; map.setOptions({ 'query': { select: 'geometry', from: ftnumber, where: "name >= " + stateCode + " AND name < " + stateCodeHigh } });