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

标签 javascript google-maps-api-3 google-fusion-tables google-query-language

总的来说,我对 javascript 和 Web 开发还很陌生。我一直在试验融合表和 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++;
    }
}
};

所以我看到的当前结果是只有一个多边形变成黄色(数组中的最后一个)。

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

我想要的是可能的吗?

感谢阅读!

最佳答案

你的函数可以看起来像这样

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

关于javascript - 使用循环对融合层进行排序并更新每个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50103772/

相关文章:

javascript - 使用 Selenium 检查是否选择了网页上的选项卡

javascript - navigator.permissions.query Permissions API 是否有其他替代方案?

google-fusion-tables - FusionTables 弃用数字表 ID

google-maps - 如何确定一个点是否位于 kml 或形状内

javascript - 无法替换 JavaScript 中的 ↵ 符号?

javascript - 如何在使用 javascript 提交表单之前构造 JSON

javascript - Javascript 函数完成后 Overlay Div 消失

javascript - 谷歌地图不显示任何标记

javascript - 如何将纬度/经度值从谷歌地图信息窗口传递到 JavaScript 函数?

google-maps-api-3 - 标记 map 中的点