1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| import Feature from 'ol/Feature.js'; import LineString from 'ol/geom/LineString.js'; import Map from 'ol/Map.js'; import VectorLayer from 'ol/layer/Vector.js'; import VectorSource from 'ol/source/Vector.js'; import View from 'ol/View.js'; import {Stroke, Style} from 'ol/style.js';
const count = 10000; const features = new Array(count);
let startPoint = [0, 0]; let endPoint;
let delta, deltaX, deltaY; let signX = 1; let signY = -1;
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, });
|