diff --git a/src/ol/renderer/canvas/VectorLayer.js b/src/ol/renderer/canvas/VectorLayer.js index b451a01b88..3915ba8a66 100644 --- a/src/ol/renderer/canvas/VectorLayer.js +++ b/src/ol/renderer/canvas/VectorLayer.js @@ -11,6 +11,16 @@ import CanvasLayerRenderer from './Layer.js'; import {defaultOrder as defaultRenderOrder, getTolerance as getRenderTolerance, getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js'; import {toString as transformToString, makeScale, makeInverse, apply} from '../../transform.js'; import {createHitDetectionImageData, hitDetect} from '../../render/canvas/hitdetect.js'; +import VectorSource from '../../source/Vector.js'; + + +/** + * @const + * @type {VectorSource} + * @private + */ +const emptySource = new VectorSource(); + /** * @classdesc @@ -328,7 +338,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer { */ prepareFrame(frameState) { const vectorLayer = this.getLayer(); - const vectorSource = vectorLayer.getSource(); + const vectorSource = vectorLayer.getSource() || emptySource; const animating = frameState.viewHints[ViewHint.ANIMATING]; const interacting = frameState.viewHints[ViewHint.INTERACTING];