// NOCOMPILE // this example uses FileSaver.js for which we don't have an externs file. import _ol_Map_ from '../src/ol/Map.js'; import _ol_View_ from '../src/ol/View.js'; import _ol_control_ from '../src/ol/control.js'; import GeoJSON from '../src/ol/format/GeoJSON.js'; import _ol_layer_Tile_ from '../src/ol/layer/Tile.js'; import _ol_layer_Vector_ from '../src/ol/layer/Vector.js'; import _ol_source_OSM_ from '../src/ol/source/OSM.js'; import _ol_source_Vector_ from '../src/ol/source/Vector.js'; var map = new _ol_Map_({ layers: [ new _ol_layer_Tile_({ source: new _ol_source_OSM_() }), new _ol_layer_Vector_({ source: new _ol_source_Vector_({ url: 'data/geojson/countries.geojson', format: new GeoJSON() }) }) ], target: 'map', controls: _ol_control_.defaults({ attributionOptions: { collapsible: false } }), view: new _ol_View_({ center: [0, 0], zoom: 2 }) }); document.getElementById('export-png').addEventListener('click', function() { map.once('postcompose', function(event) { var canvas = event.context.canvas; if (navigator.msSaveBlob) { navigator.msSaveBlob(canvas.msToBlob(), 'map.png'); } else { canvas.toBlob(function(blob) { saveAs(blob, 'map.png'); }); } }); map.renderSync(); });