Add iconUrlFunction option

Test iconUrlFunction option

remove @private
This commit is contained in:
mike-000
2020-08-28 16:44:42 +01:00
parent 6582f87383
commit 598f2bb508
2 changed files with 74 additions and 1 deletions

View File

@@ -2154,6 +2154,52 @@ describe('ol.format.KML', function () {
expect(style.getZIndex()).to.be(undefined);
});
it("can read a feature's IconStyle and apply an iconUrlFunction", function () {
format = new KML({
iconUrlFunction: function (href) {
return href.replace(/^http:/, 'https:');
},
});
const text =
'<kml xmlns="http://earth.google.com/kml/2.2">' +
' <Placemark>' +
' <Style>' +
' <IconStyle>' +
' <Icon>' +
' <href>http://foo.png</href>' +
' </Icon>' +
' </IconStyle>' +
' </Style>' +
' </Placemark>' +
'</kml>';
const fs = format.readFeatures(text);
expect(fs).to.have.length(1);
const f = fs[0];
expect(f).to.be.an(Feature);
const styleFunction = f.getStyleFunction();
expect(styleFunction).not.to.be(undefined);
const styleArray = styleFunction(f, 0);
expect(styleArray).to.be.an(Array);
expect(styleArray).to.have.length(1);
const style = styleArray[0];
expect(style).to.be.an(Style);
expect(style.getFill()).to.be(getDefaultFillStyle());
expect(style.getStroke()).to.be(getDefaultStrokeStyle());
const imageStyle = style.getImage();
expect(imageStyle).to.be.an(Icon);
expect(new URL(imageStyle.getSrc()).href).to.eql(
new URL('https://foo.png').href
);
expect(imageStyle.getAnchor()).to.be(null);
expect(imageStyle.getOrigin()).to.be(null);
expect(imageStyle.getRotation()).to.eql(0);
expect(imageStyle.getSize()).to.be(null);
expect(imageStyle.getScale()).to.be(1);
expect(imageStyle.getImage().crossOrigin).to.eql('anonymous');
expect(style.getText()).to.be(getDefaultTextStyle());
expect(style.getZIndex()).to.be(undefined);
});
it("can read a IconStyle's hotspot", function () {
const text =
'<kml xmlns="http://earth.google.com/kml/2.2">' +