OpenlayersからKMLを正常に作成できましたが、kmlファイルにスタイル(色、ストロークなど)がありません。スタイルを使用してKMLを生成することは可能ですか?
私はここで同様の質問を見つけました: https ://gis.stackexchange.com/questions/17031/openlayers-format-kml-write-style
前もって感謝します。
OpenlayersからKMLを正常に作成できましたが、kmlファイルにスタイル(色、ストロークなど)がありません。スタイルを使用してKMLを生成することは可能ですか?
私はここで同様の質問を見つけました: https ://gis.stackexchange.com/questions/17031/openlayers-format-kml-write-style
前もって感謝します。
現時点では、ここ'extractStyles':true,
に表示されているように、WRITEメソッドはプロパティを使用していません。READメソッドのみが実行します。
私が見た唯一の方法は、単にそれらを再現することでした。以下の例では、必要なKMLスタイルを作成し、それをopenlayersで作成されたkml文字列に挿入しました。
myorg.Util.GetKMLFromFeatures = function (features, strfolderName, strfolderDescription) {
var format = new OpenLayers.Format.KML({
'maxDepth': 10,
'extractStyles': true,
'internalProjection': myorg.UI.Map.getMap().baseLayer.projection,
'externalProjection': myorg.UI.Map.Projections.Geographic
});
var kmlStyle = "<Style id='OutlineOnlyStyle'><PolyStyle><color>ff0000cc</color><fill>0</fill><outline>1</outline></PolyStyle></Style>";
format.foldersName = strfolderName;
format.foldersDesc = strfolderDescription;
//add style description
var kml = format.write(features).replace(/<Folder>/g, '<Folder>' + kmlStyle)
.replace(/><name>/g, '><styleUrl>#OutlineOnlyStyle</styleUrl><name>');
return kml;
};