使用循环对融合层进行排序并更新每个结果
sorting through a Fusion layer using a loop and updating each result
我对 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 和一般的 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"
}
}]
})
}