我正在使用kml在融合表中讀取Google Map上的多邊形數組。我有4種顏色的數組,我想以編程方式爲多邊形上色這4種顏色之一,這取決於另一個數組中的值。以編程方式更改FusionTablesLayer的顏色
不知何故,即使我指定只有4種樣式,地圖每次只能着色4個多邊形。我如何爲所有130個多邊形着色?
這裏是我的代碼:
function setInitialStyles() {
layer = new google.maps.FusionTablesLayer({
map : map,
query : {
select : "geometry",
from : "1gwSN6n_00uZ7YuAP7g4FiUiilybqDRlRmWJrpvA"
}
});
var options = {
styles : [
{
polygonOptions:
{
fillColor: "#ffffff",
strokeColor: "#bcbcbc",
fillOpacity: ".75"
}
}
]
};
var styles = [];
var style1 = candColor[0];
var style2 = candColor[1];
var style3 = candColor[2];
var style4 = candColor[3];
for (var i=0;i<countyCodes.length; i++) {
var c = countyCodes[i];
var whereClause = "'COUSUBFP' = " + c;
var myStyle;
if (countyColors[i] == "#0D58A6") { myStyle = style1; }
if (countyColors[i] == "#981400") { myStyle = style2; }
if (countyColors[i] == "#E3D132") { myStyle = style3; }
if (countyColors[i] == "#007F37") { myStyle = style4; }
options.styles.push({
where: whereClause,
polygonOptions: {
fillColor: myStyle
}
});
}
layer.setOptions(options);
}
但我有一個風格的圖層與一個選項被風格。這只是這種選擇的四種方式之一。這仍然不可能嗎? – LauraNMS
如果您只有4種樣式,並且所有具有相同樣式的行在列中具有相同的值,則可以定義這4種樣式。無需遍歷所有多邊形。 – Odi
我會嘗試。謝謝! – LauraNMS