У меня есть карта Google, которая извлекает данные из Fusion Tables и отображает их. Когда вы щелкаете по многоугольнику, карта увеличивается и отображаются дополнительные многоугольники внутри исходного многоугольника. Это достигается с помощью двух отдельных таблиц Fusion Tables и некоторого jquery.
Моя проблема состоит в том, чтобы показать многоугольники только внутри исходного многоугольника, а не весь набор (например, показаны только округа в выбранном состоянии, а не все округа в США). Субполигоны сохраняются с использованием кода xxyy, где xx - исходный многоугольник, а yy - суб-многоугольник (таким образом, 1001 будет 10-м штатом и первым округом в этом штате).
Как с помощью сценария Fusion Tables «как 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, где: "name> =" + stateCode + "AND name‹ "+ stateCodeHigh}});