46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
import {Circle, Stroke, Style} from '../../../../src/ol/style.js';
|
|
import {Map, View} from '../../../../src/ol/index.js';
|
|
import {Point} from '../../../../src/ol/geom.js';
|
|
import {Tile as TileLayer} from '../../../../src/ol/layer.js';
|
|
import {XYZ} from '../../../../src/ol/source.js';
|
|
import {getVectorContext} from '../../../../src/ol/render.js';
|
|
import {useGeographic} from '../../../../src/ol/proj.js';
|
|
|
|
useGeographic();
|
|
|
|
const center = [8.6, 50.1];
|
|
const point = new Point(center);
|
|
const style = new Style({
|
|
image: new Circle({
|
|
radius: 40,
|
|
stroke: new Stroke({
|
|
width: 5,
|
|
color: 'red',
|
|
}),
|
|
}),
|
|
});
|
|
|
|
const tileLayer = new TileLayer({
|
|
source: new XYZ({
|
|
url: '/data/tiles/satellite/{z}/{x}/{y}.jpg',
|
|
transition: 0,
|
|
}),
|
|
});
|
|
|
|
new Map({
|
|
layers: [tileLayer],
|
|
target: 'map',
|
|
view: new View({
|
|
center: center,
|
|
zoom: 3,
|
|
}),
|
|
pixelRatio: 2,
|
|
});
|
|
tileLayer.on('postrender', function (evt) {
|
|
const vectorContext = getVectorContext(evt);
|
|
vectorContext.setStyle(style);
|
|
vectorContext.drawGeometry(point);
|
|
});
|
|
|
|
render();
|