87 lines
1.7 KiB
JavaScript
87 lines
1.7 KiB
JavaScript
import Feature from '../../../../src/ol/Feature.js';
|
|
import LineString from '../../../../src/ol/geom/LineString.js';
|
|
import Map from '../../../../src/ol/Map.js';
|
|
import Stroke from '../../../../src/ol/style/Stroke.js';
|
|
import Style from '../../../../src/ol/style/Style.js';
|
|
import VectorLayer from '../../../../src/ol/layer/Vector.js';
|
|
import VectorSource from '../../../../src/ol/source/Vector.js';
|
|
import View from '../../../../src/ol/View.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({
|
|
opacity: 0.5,
|
|
source: vectorSource,
|
|
}),
|
|
],
|
|
target: 'map',
|
|
view: new View({
|
|
center: [0, 0],
|
|
resolution: 1,
|
|
}),
|
|
});
|
|
|
|
render();
|