In addition to using const and let, this also upgrades our linter config and removes lint (mostly whitespace).
97 lines
2.1 KiB
JavaScript
97 lines
2.1 KiB
JavaScript
import Feature from '../src/ol/Feature.js';
|
|
import Map from '../src/ol/Map.js';
|
|
import View from '../src/ol/View.js';
|
|
import Point from '../src/ol/geom/Point.js';
|
|
import VectorLayer from '../src/ol/layer/Vector.js';
|
|
import VectorSource from '../src/ol/source/Vector.js';
|
|
import Fill from '../src/ol/style/Fill.js';
|
|
import RegularShape from '../src/ol/style/RegularShape.js';
|
|
import Stroke from '../src/ol/style/Stroke.js';
|
|
import Style from '../src/ol/style/Style.js';
|
|
|
|
|
|
const stroke = new Stroke({color: 'black', width: 2});
|
|
const fill = new Fill({color: 'red'});
|
|
|
|
const styles = {
|
|
'square': new Style({
|
|
image: new RegularShape({
|
|
fill: fill,
|
|
stroke: stroke,
|
|
points: 4,
|
|
radius: 10,
|
|
angle: Math.PI / 4
|
|
})
|
|
}),
|
|
'triangle': new Style({
|
|
image: new RegularShape({
|
|
fill: fill,
|
|
stroke: stroke,
|
|
points: 3,
|
|
radius: 10,
|
|
rotation: Math.PI / 4,
|
|
angle: 0
|
|
})
|
|
}),
|
|
'star': new Style({
|
|
image: new RegularShape({
|
|
fill: fill,
|
|
stroke: stroke,
|
|
points: 5,
|
|
radius: 10,
|
|
radius2: 4,
|
|
angle: 0
|
|
})
|
|
}),
|
|
'cross': new Style({
|
|
image: new RegularShape({
|
|
fill: fill,
|
|
stroke: stroke,
|
|
points: 4,
|
|
radius: 10,
|
|
radius2: 0,
|
|
angle: 0
|
|
})
|
|
}),
|
|
'x': new Style({
|
|
image: new RegularShape({
|
|
fill: fill,
|
|
stroke: stroke,
|
|
points: 4,
|
|
radius: 10,
|
|
radius2: 0,
|
|
angle: Math.PI / 4
|
|
})
|
|
})
|
|
};
|
|
|
|
|
|
const styleKeys = ['x', 'cross', 'star', 'triangle', 'square'];
|
|
const count = 250;
|
|
const features = new Array(count);
|
|
const e = 4500000;
|
|
for (let i = 0; i < count; ++i) {
|
|
const coordinates = [2 * e * Math.random() - e, 2 * e * Math.random() - e];
|
|
features[i] = new Feature(new Point(coordinates));
|
|
features[i].setStyle(styles[styleKeys[Math.floor(Math.random() * 5)]]);
|
|
}
|
|
|
|
const source = new VectorSource({
|
|
features: features
|
|
});
|
|
|
|
const vectorLayer = new VectorLayer({
|
|
source: source
|
|
});
|
|
|
|
const map = new Map({
|
|
layers: [
|
|
vectorLayer
|
|
],
|
|
target: 'map',
|
|
view: new View({
|
|
center: [0, 0],
|
|
zoom: 2
|
|
})
|
|
});
|