From f444da29bced769d40bb1e0cb9410383e19da100 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Thu, 8 Nov 2018 09:36:20 +0100 Subject: [PATCH] Add linestring-style rendering test --- rendering/cases/linestring-style/expected.png | Bin 0 -> 8793 bytes rendering/cases/linestring-style/index.html | 22 ++++++ rendering/cases/linestring-style/main.js | 69 ++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 rendering/cases/linestring-style/expected.png create mode 100644 rendering/cases/linestring-style/index.html create mode 100644 rendering/cases/linestring-style/main.js diff --git a/rendering/cases/linestring-style/expected.png b/rendering/cases/linestring-style/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..68797650fc0684f8c9f70f8dd4207892b83eb404 GIT binary patch literal 8793 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 AS^xk5 literal 0 HcmV?d00001 diff --git a/rendering/cases/linestring-style/index.html b/rendering/cases/linestring-style/index.html new file mode 100644 index 0000000000..96cfb5a582 --- /dev/null +++ b/rendering/cases/linestring-style/index.html @@ -0,0 +1,22 @@ + + + + + + +
+ + + + diff --git a/rendering/cases/linestring-style/main.js b/rendering/cases/linestring-style/main.js new file mode 100644 index 0000000000..800659c76f --- /dev/null +++ b/rendering/cases/linestring-style/main.js @@ -0,0 +1,69 @@ +import Map from '../../../src/ol/Map.js'; +import View from '../../../src/ol/View.js'; +import Feature from '../../../src/ol/Feature.js'; +import LineString from '../../../src/ol/geom/LineString.js'; +import VectorLayer from '../../../src/ol/layer/Vector.js'; +import VectorSource from '../../../src/ol/source/Vector.js'; +import Style from '../../../src/ol/style/Style.js'; +import Stroke from '../../../src/ol/style/Stroke.js'; + + +const vectorSource = new VectorSource(); +let feature; + +feature = new Feature({ + geometry: new LineString([[-60, 60], [45, 60]]) +}); +vectorSource.addFeature(feature); + +feature = new Feature({ + geometry: new LineString([[-60, -50], [30, 10]]) +}); +feature.setStyle(new Style({ + stroke: new Stroke({color: '#f00', width: 3}) +})); +vectorSource.addFeature(feature); + +feature = new Feature({ + geometry: new LineString([[-110, -100], [0, 100], [100, -90]]) +}); +feature.setStyle(new Style({ + stroke: new Stroke({ + color: 'rgba(55, 55, 55, 0.75)', + width: 5, + lineCap: 'square', + lineDash: [4, 8], + lineJoin: 'round' + }) +})); +vectorSource.addFeature(feature); + +feature = new Feature({ + geometry: new LineString([[-80, 80], [80, 80], [-40, -90]]) +}); +feature.setStyle([ + new Style({ + stroke: new Stroke({color: '#F2F211', width: 5}) + }), + new Style({ + stroke: new Stroke({color: '#292921', width: 1}) + }) +]); +vectorSource.addFeature(feature); + + +new Map({ + pixelRatio: 1, + layers: [ + new VectorLayer({ + source: vectorSource + }) + ], + target: 'map', + view: new View({ + center: [0, 0], + resolution: 1 + }) +}); + +render();