實際樣式保存在KML格式的對象中,並通過它在要素上設置的樣式函數作爲閉包進行訪問。這意味着樣式本身是無法訪問的。
但是,您仍然可以訪問和操作樣式值。該功能的getStyle方法將返回樣式,樣式數組或樣式函數。在這種情況下,KML格式設置樣式函數。
該函數用給定的分辨率調用並返回樣式數組。如果您確定樣式是靜態的並且不依賴於分辨率,那麼您可以使用適當的分辨率調用樣式函數以獲取樣式。
不過,如果你不知道你肯定伴奏功能如何確定返回值,你可以創建一箇中間風格功能:
var oldStyleFunction = feature.getStyle();
feature.setStyle(function(resolution){
var styles = oldStyleFunction.apply(this, arguments);
for(var i = 0; i < styles.length; i++){
var stroke = styles[i].getStroke();
if (stroke != null) {
console.log('style ' + i + ' stroke color: ' + stroke.getColor() + ' at resolution ' + resolution)
}
}
return styles;
});
上面這個例子中不操作的風格,但它是一個好的開始,並會告訴你風格的筆畫顏色。
在感興趣的對象上嘗試一個'console.log'或'console.dir'。 –