Основная схема этого проекта - это визуальное представление времени в пути между лондонскими Уордс.
Пока что я создал таблицу Google Fusion, которая хорошо отвечает на основные запросы. Но теперь я пытаюсь изменить цвет моих полигонов таблицы фьюжн в соответствии с временем в пути к выбранному полигону и обратно.
function fillcolour(match) {
var limit = 0;
var filter = [];
for (x in match) {
if (limit < 5) {
var duration = match[x];
if (dataraw[1]) {
//-------75 and 65 are stand in values at the moment. They will later be filled by variables.
filter.push("(" + generateWhere(x, duration, 75, 65) + ")");
}
limit++;
}
}
where = filter.join(' OR ');
PolygonLayer.setOptions({
query: {
select: 'shape',
from: mapTable
},
styles: [{
polygonOptions: {
fillColor: "#000FFF",
fillOpacity: .8
}
},
{
where: where,
polygonOptions: {
fillColor: "#FFF000"
}
}],
})
};
function generateWhere(Keys, duration, high, low) {
var whereClause = [];
whereClause.push("name");
whereClause.push(" = '");
whereClause.push(Keys);
whereClause.push("' AND ");
whereClause.push(duration);
whereClause.push(" >= ");
whereClause.push(low);
whereClause.push(" AND ");
whereClause.push(duration);
whereClause.push(" < ");
whereClause.push(high);
return whereClause.join('');
}
Я понимаю, что, возможно, есть более простой способ работы с параметрами многоугольника, но в настоящее время мой SQL-запрос работает не так, как мне бы хотелось.
Это запрос, который подается в оператор where:
(имя = «Эбби Вуд» И 80> = 65 И 80 <75) ИЛИ (имя = «Актон» И 74> = 65 И 74 <75) ИЛИ (имя = «Анерли» И 46> = 65 И 46 <75) </p>
Кто-нибудь знает, почему это не сработает?