Update export map example
This commit is contained in:
@@ -14,7 +14,7 @@ const vectorSource = new VectorSource({
|
|||||||
|
|
||||||
const style = new Style({
|
const style = new Style({
|
||||||
fill: new Fill({
|
fill: new Fill({
|
||||||
color: 'rgba(255, 255, 255, 0.6)',
|
color: '#eeeeee',
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -2,28 +2,33 @@ import GeoJSON from '../src/ol/format/GeoJSON.js';
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import VectorSource from '../src/ol/source/Vector.js';
|
import VectorSource from '../src/ol/source/Vector.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {Fill, Stroke, Style} from '../src/ol/style.js';
|
import {Fill, Style} from '../src/ol/style.js';
|
||||||
import {
|
import {
|
||||||
Heatmap as HeatmapLayer,
|
Heatmap as HeatmapLayer,
|
||||||
Vector as VectorLayer,
|
Vector as VectorLayer,
|
||||||
} from '../src/ol/layer.js';
|
} from '../src/ol/layer.js';
|
||||||
|
import {asArray} from '../src/ol/color.js';
|
||||||
|
|
||||||
|
const style = new Style({
|
||||||
|
fill: new Fill({
|
||||||
|
color: '#eeeeee',
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
const map = new Map({
|
const map = new Map({
|
||||||
layers: [
|
layers: [
|
||||||
new VectorLayer({
|
new VectorLayer({
|
||||||
background: '#a9d3df',
|
|
||||||
source: new VectorSource({
|
source: new VectorSource({
|
||||||
url: 'data/geojson/countries.geojson',
|
url: 'https://openlayers.org/data/vector/ecoregions.json',
|
||||||
format: new GeoJSON(),
|
format: new GeoJSON(),
|
||||||
}),
|
}),
|
||||||
style: new Style({
|
background: 'white',
|
||||||
stroke: new Stroke({
|
style: function (feature) {
|
||||||
color: '#ccc',
|
const color = asArray(feature.get('COLOR_NNH') || '#eeeeee');
|
||||||
}),
|
color[3] = 0.75;
|
||||||
fill: new Fill({
|
style.getFill().setColor(color);
|
||||||
color: 'white',
|
return style;
|
||||||
}),
|
},
|
||||||
}),
|
|
||||||
}),
|
}),
|
||||||
new HeatmapLayer({
|
new HeatmapLayer({
|
||||||
source: new VectorSource({
|
source: new VectorSource({
|
||||||
@@ -35,7 +40,7 @@ const map = new Map({
|
|||||||
},
|
},
|
||||||
radius: 15,
|
radius: 15,
|
||||||
blur: 15,
|
blur: 15,
|
||||||
opacity: 0.5,
|
opacity: 0.75,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
target: 'map',
|
target: 'map',
|
||||||
@@ -56,15 +61,16 @@ document.getElementById('export-png').addEventListener('click', function () {
|
|||||||
map.getViewport().querySelectorAll('.ol-layer canvas, canvas.ol-layer'),
|
map.getViewport().querySelectorAll('.ol-layer canvas, canvas.ol-layer'),
|
||||||
function (canvas) {
|
function (canvas) {
|
||||||
if (canvas.width > 0) {
|
if (canvas.width > 0) {
|
||||||
|
const opacity =
|
||||||
|
canvas.parentNode.style.opacity || canvas.style.opacity;
|
||||||
|
mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
|
||||||
|
|
||||||
const backgroundColor = canvas.parentNode.style.backgroundColor;
|
const backgroundColor = canvas.parentNode.style.backgroundColor;
|
||||||
if (backgroundColor) {
|
if (backgroundColor) {
|
||||||
mapContext.fillStyle = backgroundColor;
|
mapContext.fillStyle = backgroundColor;
|
||||||
mapContext.fillRect(0, 0, canvas.width, canvas.height);
|
mapContext.fillRect(0, 0, canvas.width, canvas.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
const opacity =
|
|
||||||
canvas.parentNode.style.opacity || canvas.style.opacity;
|
|
||||||
mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
|
|
||||||
let matrix;
|
let matrix;
|
||||||
const transform = canvas.style.transform;
|
const transform = canvas.style.transform;
|
||||||
if (transform) {
|
if (transform) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import {Fill, Stroke, Style} from '../src/ol/style.js';
|
|||||||
|
|
||||||
const style = new Style({
|
const style = new Style({
|
||||||
fill: new Fill({
|
fill: new Fill({
|
||||||
color: 'rgba(255, 255, 255, 0.6)',
|
color: '#eeeeee',
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user