Merge pull request #13198 from tschaub/no-color

Avoid failure if existing target has no background color
This commit is contained in:
Tim Schaub
2022-01-08 08:31:47 -07:00
committed by GitHub
3 changed files with 46 additions and 4 deletions

View File

@@ -114,10 +114,11 @@ class CanvasLayerRenderer extends LayerRenderer {
target.style.opacity === '' &&
opacity === 1 &&
(!opt_backgroundColor ||
equals(
asArray(target.style.backgroundColor),
asArray(opt_backgroundColor)
))
(target.style.backgroundColor &&
equals(
asArray(target.style.backgroundColor),
asArray(opt_backgroundColor)
)))
) {
const canvas = target.firstElementChild;
if (canvas instanceof HTMLCanvasElement) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,41 @@
import GeoJSON from '../../../../src/ol/format/GeoJSON.js';
import Map from '../../../../src/ol/Map.js';
import TileLayer from '../../../../src/ol/layer/Tile.js';
import VectorLayer from '../../../../src/ol/layer/Vector.js';
import VectorSource from '../../../../src/ol/source/Vector.js';
import View from '../../../../src/ol/View.js';
import XYZ from '../../../../src/ol/source/XYZ.js';
import {Fill, Stroke, Style} from '../../../../src/ol/style.js';
new Map({
target: 'map',
view: new View({
center: [0, 0],
zoom: 1,
}),
layers: [
new TileLayer({
source: new XYZ({
url: '/data/tiles/satellite/{z}/{x}/{y}.jpg',
transition: 0,
}),
}),
new VectorLayer({
background: '#a9d3df',
source: new VectorSource({
url: '/data/countries.json',
format: new GeoJSON(),
}),
style: new Style({
stroke: new Stroke({
color: '#ccc',
}),
fill: new Fill({
color: 'white',
}),
}),
}),
],
});
render();