Always return Promise from getFeatures

This commit is contained in:
Maximilian Krög
2021-02-24 18:37:30 +01:00
parent b6e7d617b5
commit 29349d275e
2 changed files with 10 additions and 11 deletions
+3
View File
@@ -210,6 +210,9 @@ class Layer extends BaseLayer {
* an array of features. * an array of features.
*/ */
getFeatures(pixel) { getFeatures(pixel) {
if (!this.renderer_) {
return new Promise((resolve) => resolve([]));
}
return this.renderer_.getFeatures(pixel); return this.renderer_.getFeatures(pixel);
} }
+7 -11
View File
@@ -63,18 +63,14 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer {
* @return {Promise<Array<import("../../Feature").default>>} Promise that resolves with an array of features. * @return {Promise<Array<import("../../Feature").default>>} Promise that resolves with an array of features.
*/ */
getFeatures(pixel) { getFeatures(pixel) {
if (this.vectorRenderer_) { if (!this.vectorRenderer_) {
const vectorPixel = apply( return new Promise((resolve) => resolve([]));
this.coordinateToVectorPixelTransform_,
apply(this.renderedPixelToCoordinateTransform_, pixel.slice())
);
return this.vectorRenderer_.getFeatures(vectorPixel);
} else {
const promise = new Promise(function (resolve, reject) {
resolve([]);
});
return promise;
} }
const vectorPixel = apply(
this.coordinateToVectorPixelTransform_,
apply(this.renderedPixelToCoordinateTransform_, pixel.slice())
);
return this.vectorRenderer_.getFeatures(vectorPixel);
} }
/** /**