import Map from '../src/ol/Map.js'; import OSM from '../src/ol/source/OSM.js'; import TileLayer from '../src/ol/layer/Tile.js'; import View from '../src/ol/View.js'; import {getBottomLeft, getTopRight} from '../src/ol/extent.js'; import {toLonLat} from '../src/ol/proj.js'; const map = new Map({ layers: [ new TileLayer({ source: new OSM(), }), ], target: 'map', view: new View({ center: [0, 0], zoom: 2, }), }); function display(id, value) { document.getElementById(id).value = value.toFixed(2); } function wrapLon(value) { const worlds = Math.floor((value + 180) / 360); return value - worlds * 360; } function onMoveEnd(evt) { const map = evt.map; const extent = map.getView().calculateExtent(map.getSize()); const bottomLeft = toLonLat(getBottomLeft(extent)); const topRight = toLonLat(getTopRight(extent)); display('left', wrapLon(bottomLeft[0])); display('bottom', bottomLeft[1]); display('right', wrapLon(topRight[0])); display('top', topRight[1]); } map.on('moveend', onMoveEnd);