To have the same path (starting with `ol/`, without `.js`) as in the documentation. The support was added in the webpack config in #8928
61 lines
1.1 KiB
JavaScript
61 lines
1.1 KiB
JavaScript
import Feature from 'ol/Feature';
|
|
import Map from 'ol/Map';
|
|
import View from 'ol/View';
|
|
import LineString from 'ol/geom/LineString';
|
|
import VectorLayer from 'ol/layer/Vector';
|
|
import VectorSource from 'ol/source/Vector';
|
|
import {Stroke, Style} from 'ol/style';
|
|
|
|
|
|
const count = 10000;
|
|
const features = new Array(count);
|
|
|
|
let startPoint = [0, 0];
|
|
let endPoint;
|
|
|
|
let delta, deltaX, deltaY;
|
|
let signX = 1;
|
|
let signY = -1;
|
|
|
|
// Create a square spiral.
|
|
let i;
|
|
for (i = 0; i < count; ++i) {
|
|
delta = (i + 1) * 2500;
|
|
if (i % 2 === 0) {
|
|
signY *= -1;
|
|
} else {
|
|
signX *= -1;
|
|
}
|
|
deltaX = delta * signX;
|
|
deltaY = delta * signY;
|
|
endPoint = [startPoint[0] + deltaX, startPoint[1] + deltaY];
|
|
features[i] = new Feature({
|
|
'geometry': new LineString([startPoint, endPoint])
|
|
});
|
|
startPoint = endPoint;
|
|
}
|
|
|
|
const vector = new VectorLayer({
|
|
source: new VectorSource({
|
|
features: features,
|
|
wrapX: false
|
|
}),
|
|
style: new Style({
|
|
stroke: new Stroke({
|
|
color: '#666666',
|
|
width: 1
|
|
})
|
|
})
|
|
});
|
|
|
|
const view = new View({
|
|
center: [0, 0],
|
|
zoom: 0
|
|
});
|
|
|
|
const map = new Map({
|
|
layers: [vector],
|
|
target: 'map',
|
|
view: view
|
|
});
|