ol.format.KML writeFeatures()를 사용할 때 defaultStyle
을 이해하는 데 문제가 있습니다. 작성한 기능에는 개별 스타일이 없으므로 레이어 스타일을 KML 기능에 적용하고 싶습니다. 나는 이것을 시도했다 :KML 형식 writeFeatures defaultStyle
var features = vectorLayer.getSource().getFeatures(); // these do not have styles
var layerStyle = vectorLayer.getStyleFunction()(features[0], map.getView().getResolution());
var kmlFormat = new ol.format.KML({
defaultStyle: layerStyle
})
var kml = kmlFormat.writeFeatures(features, {
featureProjection: map.getView().getProjection() // source coord sys
});
console.log(kml);
그러나 kml에는 스타일링이 없다. 나는 각 기능에 레이어의 스타일을 복사하는 경우 :
features.forEach(function(feature) {
feature.setStyle(layerStyle);
});
을 그 다음 KML 내가 {defaultStyle: layerStyle}
를 제거 할 경우에도 스타일을 가지고있다. 그러나 레이어의 스타일을 각 개별 기능으로 복사하지 않는 것이 좋습니다. 이상적으로는 kml이 자신 만의 스타일을 가지고 있지 않은 기능에 레이어의 스타일을 사용하고 자신의 스타일을 가진 스타일에 해당 기능의 스타일을 사용하고 싶습니다.
그럼 defaultStyle
은 무엇을하고 언제 사용합니까?
아마 defaultStyle
는 KML을하지 읽기, 쓰기에만 적용?