2016-05-16 94 views
0

我正在尋找一種方法來獲取當前 fillColor與谷歌地圖API的多邊形。如何獲取谷歌地圖多邊形的當前fillColor?

map.data.forEach(function(entry) { 
    console.log(entry.getProperty('name')); 
}); 

根據geoJSON數據給出了與每個多邊形關聯的名稱。

這很清楚如何爲這些多邊形設置樣式屬性,但我在文檔中沒有看到任何方式來獲取當前的fillColor。

回答

1

您無法檢索google.maps.data圖層的單個特徵的樣式。您可以檢索的數據層,您使用map.data.setStyle({StylingObject})以前這樣分配的全局樣式:

map.data.getStyle(); 

如果使用的造型功能(map.data.setStyle(function(entry){..StylingFunction..})),你不能得到的樣式,但你應該能夠確定他們你分配的樣式基於您提供的StylingFunction和當前功能的屬性。

此外,您無法使用map.data.overrideStyle(feature, {..})獲取樣式。但是,當您爲其分配樣式時,您可以爲該功能設置具有相同名稱的屬性,然後檢索屬性,而不是樣式。所以,你會:

map.data.overrideStyle(feature, { 
    fillColor:red, 
    opacity:0.5 
}); 
feature.setProperty('fillColor', 'red'); 
feature.setProperty('opacity', '0.5'); 

,當你想要檢索的樣式,那麼你可以一起去:

map.data.forEach(function(entry) { 
    console.log(entry.getProperty('fillColor')); //.. or opacity, or anything you set with setProperty 
});