сортировка по слою Fusion с использованием цикла и обновление каждого результата - PullRequest
0 голосов
/ 30 апреля 2018

Я совершенно новичок в JavaScript и веб-разработке в целом. Я экспериментировал с таблицами Fusion и Google API и поставил себя в тупик.

Я пытаюсь перебрать объект Javascript и выделить любые полигоны в моем слое слияния, имена которых совпадают с именами в объекте javascript. Код ниже:

function fillcolour(match){ // ---- match is an array within the javascript object

var limit = 0; // --- currently limiting the responses to 5. There are 126 in each response array and I know within the first 5 there are 3 matches.

 var options = {
      styles : []
    };
var styles = [];

for (x in match) {    //---- getting each name in match. from alerts and console log I know this returns 5 results, three of which should satisfy the requirements below. 
    if(limit < 5){

        PolygonLayer.setOptions({
                query: {
                    select: "shape",
                    from: mapTable,
                    where: "'name' = '" + x + "'"
                }
            });
      options.styles.push({
        polygonOptions: {
          fillColor: "#FFF000",
        }
      });
        PolygonLayer.setOptions(options);
        limit++;
    }
}
};

поэтому текущий результат, который я вижу, состоит в том, что только один многоугольник становится желтым (последний в массиве).

Я ХОЧУ увидеть, что все жизнеспособные полигоны, отмеченные в цикле, становятся желтыми. Я вполне уверен, что ответ лежит в синтаксисе запроса, но я искал полдня и ничего не могу найти.

То, что я хочу, возможно?

Спасибо за чтение!

1 Ответ

0 голосов
/ 30 апреля 2018

Ваша функция может просто выглядеть примерно так

function fillcolour(match){
    PolygonLayer.setOptions({
        styles: [{
            where: "'name' in ('" + match.join("','") + "')"
            polygonOptions: {
                fillColor: "#FFF000"
            }
        }]          
    })
}
...