Javascript 使用循环对融合层进行排序并更新每个结果

Javascript 使用循环对融合层进行排序并更新每个结果,javascript,google-maps-api-3,google-fusion-tables,google-query-language,Javascript,Google Maps Api 3,Google Fusion Tables,Google Query Language,一般来说,我对javascript和web开发还比较陌生。我一直在试验融合表和GoogleAPI,我自己也难倒了 我希望循环遍历一个Javascript对象,并突出显示融合层中名称与Javascript对象中名称匹配的任何多边形。代码如下: function fillcolour(match){ // ---- match is an array within the javascript object var limit = 0; // --- currently limiting the

一般来说,我对javascript和web开发还比较陌生。我一直在试验融合表和GoogleAPI,我自己也难倒了

我希望循环遍历一个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++;
    }
}
};
因此,我看到的当前结果是,只有一个多边形变为黄色,即数组中的最后一个多边形

我想看到的是,在循环中选中的所有可行多边形都变成黄色。我很确定答案在查询语法中,但我已经搜索了半天,什么也找不到

我想要的可能吗


谢谢你的阅读

您的函数可以简单地如下所示

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

谢谢我用了一些非常类似的东西。