0
我正在使用Google Maps API。我想爲某些國家分配顏色。多個FusionTables查詢不起作用
要做到這一點,我必須讓每個國家的邊界能夠繪製多邊形。所以,我正在使用FusionTables。對於每個國家,我都會執行FusionTables查詢來獲取圖層,然後設置地圖。這裏我做了什麼。
var countryArray = new Array();
var nodeArray = new Array();
var companyArray = new Array();
var locationsArray = new Array();
function plotMarker() {
var rootMarker = locationsArray[companyArray.indexOf(rootCompany)];
var latlng = new google.maps.LatLng(0, 0);
var myStyle = [
{
featureType: "all",
elementType: "labels",
stylers: [
{
visibility: "off" }
]
}
];
map = new google.maps.Map(document.getElementById("map_canvas"), {
mapTypeControlOptions: {
mapTypeIds: ['mystyle', google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.TERRAIN]
},
center: latlng,
zoom: 2,
mapTypeId: 'mystyle'
});
map.mapTypes.set('mystyle', new google.maps.StyledMapType(myStyle, { name: 'My Style' }));
for (var i = 0; i < locationsArray.length; i++) {
if (locationsArray[i] != undefined) {
var latitude = locationsArray[i].lat() + verDiff;
var longitude = locationsArray[i].lng() + horDiff;
var newLatlng = new google.maps.LatLng(latitude, longitude);
var ftoptions = {
query: {
from: '419167',
select: 'kml_4326',
where: "sovereignt = '"+countryArray[i]+"'"
},
suppressInfoWindows:true,
styles: [
{
polygonOptions: {
fillColor:'#0040FF',
fillOpacity:0.7
}
}
]
};
var layer = new google.maps.FusionTablesLayer(ftoptions);
layer.setMap(map);
}
}
}
但是,爲什麼風格只爲第一個國家工作嗎?我想知道所有國家的查詢是否都沒有成功執行,或者只是這種風格有問題?任何幫助將不勝感激。
由於選擇多個sovereignt的,是能夠分配不同的顏色,每一個國家? –
通過圖層設置僅適用於5個國家(僅適用於最多5種風格)。但是,您可以通過模板**定義[**不同顏色](https://support.google.com/fusiontables/answer/2681556?hl=zh-CN)(基於列值) –