encoding color into KML

This commit is contained in:
Jiri Lysek
2020-03-23 10:10:12 +01:00
parent 7bf44078e1
commit 2b6e767840
2 changed files with 10 additions and 2 deletions

View File

@@ -2452,7 +2452,7 @@ function writeIcon(node, icon, objectStack) {
// @ts-ignore
const ICON_STYLE_SEQUENCE = makeStructureNS(
NAMESPACE_URIS, [
'scale', 'heading', 'Icon', 'hotSpot'
'scale', 'heading', 'Icon', 'color', 'hotSpot'
]);
@@ -2464,6 +2464,7 @@ const ICON_STYLE_SEQUENCE = makeStructureNS(
const ICON_STYLE_SERIALIZERS = makeStructureNS(
NAMESPACE_URIS, {
'Icon': makeChildAppender(writeIcon),
'color': makeChildAppender(writeColorTextNode),
'heading': makeChildAppender(writeDecimalTextNode),
'hotSpot': makeChildAppender(writeVec2),
'scale': makeChildAppender(writeScaleTextNode)
@@ -2519,6 +2520,11 @@ function writeIconStyle(node, style, objectStack) {
properties['heading'] = rotation; // 0-360
}
const color = style.getColor();
if (color) {
properties['color'] = color;
}
const parentNode = objectStack[objectStack.length - 1].node;
const orderedKeys = ICON_STYLE_SEQUENCE[parentNode.namespaceURI];
const values = makeSequence(properties, orderedKeys);

View File

@@ -2394,7 +2394,8 @@ describe('ol.format.KML', function() {
rotation: 45,
scale: 0.5,
size: [48, 48],
src: 'http://foo.png'
src: 'http://foo.png',
color: 'rgba(255,0,0,1)'
})
});
const imageStyle = style.getImage();
@@ -2420,6 +2421,7 @@ describe('ol.format.KML', function() {
' <gx:w>48</gx:w>' +
' <gx:h>48</gx:h>' +
' </Icon>' +
' <color>ff0000ff</color>' +
' <hotSpot x="12" y="12" xunits="pixels" ' +
' yunits="pixels"/>' +
' </IconStyle>' +