我有一個融合表,其中包含代表130個城市的130個多邊形的kml定義。我想將多邊形填充顏色設置爲存儲在數組中的十六進制值,其中城市名稱匹配。以編程方式更改融合表多邊形顏色
這是我的代碼存根,但填充顏色不起作用。有沒有人對我如何管理這件事有所瞭解?
...
getFTData(table_id, 'Name', example_dataHandler);
...
function getFTData(table_id, col_list, successFunction) {
var query = "SELECT " + col_list + " FROM " + table_id;
var queryurl = encodeURI(queryUrlHead + query + queryUrlTail);
$.ajax({
type: "GET",
url: queryurl,
dataType: "jsonp", // return CSV FustionTable response as JSON
success: successFunction,
error: function() {alert("AJAX ERROR for " + queryurl); }
});
}
function example_dataHandler(d) {
// get the actual data out of the JSON object
var rows = d.table.rows;
var row_count = 0;
layer = new google.maps.FusionTablesLayer({
query:
{
select: 'geometry',
from: '11KMJrKcQ4f729YGbcUoe4lvp66JKZhB0pJ-3w9k'
},
options:
{
suppressInfoWindows: true
}
});
for (var i = 0; i < rows.length; i++) {
// Per the expected columns
for(j=0; j < rows[i].length; j++)
{
styles: [{
where: "'Name' = '" + rows[i][j] + "'",
polygonOptions: {
fillColor: countyColors[row_count],
strokeColor: "#FFFFFF",
strokeWeight: 3
}
}]
}
row_count++;
}
layer.setMap(map);
}
這是一次性操作?您可以在FusionTable中從列中配置多邊形的顏色。如果您的顏色少於5種,則可以[在javascript中動態顯示](https://developers.google.com/maps/documentation/javascript/reference#FusionTablesStyle)。您的代碼似乎正在加載多邊形兩次,一次是在FusionTablesLayer中,另一次是本機Google Maps API v3多邊形(在查詢回調中)。 – geocodezip
我不想設置Fusion Table列的顏色,但我可能不得不這樣做。我收到一個json文件,其中包含每個城市應該具有的顏色。我還有一個kml文件,可以讓我輕鬆地將其作爲融合表上載並放置在谷歌地圖上。我只是想正確地構建我的循環,以便我將kml文件放在地圖上併爲城市着色。但我在這裏沒有做到正確。 – LauraNMS
你的桌子是公開的嗎?你有一個定義顏色的JSON樣本嗎?鑑於這些細節,應該不難實施。 – geocodezip