Merge pull request #12066 from M393/vector-layer-get-feature-promise

Always return Promise from getFeatures
This commit is contained in:
Andreas Hocevar
2021-02-24 19:25:50 +01:00
committed by GitHub
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);
} }
+3 -7
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_) {
return new Promise((resolve) => resolve([]));
}
const vectorPixel = apply( const vectorPixel = apply(
this.coordinateToVectorPixelTransform_, this.coordinateToVectorPixelTransform_,
apply(this.renderedPixelToCoordinateTransform_, pixel.slice()) apply(this.renderedPixelToCoordinateTransform_, pixel.slice())
); );
return this.vectorRenderer_.getFeatures(vectorPixel); return this.vectorRenderer_.getFeatures(vectorPixel);
} else {
const promise = new Promise(function (resolve, reject) {
resolve([]);
});
return promise;
}
} }
/** /**