import Feature from '../src/ol/Feature.js'; import Map from '../src/ol/Map.js'; import _ol_View_ from '../src/ol/View.js'; import Point from '../src/ol/geom/Point.js'; import _ol_layer_Vector_ from '../src/ol/layer/Vector.js'; import _ol_source_Vector_ from '../src/ol/source/Vector.js'; import _ol_style_Icon_ from '../src/ol/style/Icon.js'; import _ol_style_Style_ from '../src/ol/style/Style.js'; var iconInfo = [{ offset: [0, 0], opacity: 1.0, rotateWithView: true, rotation: 0.0, scale: 1.0, size: [55, 55] }, { offset: [110, 86], opacity: 0.75, rotateWithView: false, rotation: Math.PI / 2.0, scale: 1.25, size: [55, 55] }, { offset: [55, 0], opacity: 0.5, rotateWithView: true, rotation: Math.PI / 3.0, scale: 1.5, size: [55, 86] }, { offset: [212, 0], opacity: 1.0, rotateWithView: true, rotation: 0.0, scale: 1.0, size: [44, 44] }]; var i; var iconCount = iconInfo.length; var icons = new Array(iconCount); for (i = 0; i < iconCount; ++i) { var info = iconInfo[i]; icons[i] = new _ol_style_Icon_({ offset: info.offset, opacity: info.opacity, rotateWithView: info.rotateWithView, rotation: info.rotation, scale: info.scale, size: info.size, crossOrigin: 'anonymous', src: 'data/Butterfly.png' }); } var featureCount = 50000; var features = new Array(featureCount); var feature, geometry; var e = 25000000; for (i = 0; i < featureCount; ++i) { geometry = new Point( [2 * e * Math.random() - e, 2 * e * Math.random() - e]); feature = new Feature(geometry); feature.setStyle( new _ol_style_Style_({ image: icons[i % (iconCount - 1)] }) ); features[i] = feature; } var vectorSource = new _ol_source_Vector_({ features: features }); var vector = new _ol_layer_Vector_({ source: vectorSource }); var map = new Map({ renderer: /** @type {Array