(geometry, options)
| 200 | } |
| 201 | |
| 202 | queryRenderedFeatures(geometry, options) { |
| 203 | let overlayLayers = Object.keys(this.overlayLayersManager); |
| 204 | let layersOnMap; |
| 205 | if (options && options.layers) { |
| 206 | overlayLayers = options.layers.filter(item => this.overlayLayersManager[item]); |
| 207 | layersOnMap = options.layers.filter(item => !this.overlayLayersManager[item]); |
| 208 | } |
| 209 | const nextGeometry = geometry || [[0, 0], [this.transform.width, this.transform.height]]; |
| 210 | const nextOptions = options || {}; |
| 211 | delete nextOptions.layers; |
| 212 | const resultOnOverlayerLayers = overlayLayers.reduce((result, item) => { |
| 213 | const overlayLayer = this.overlayLayersManager[item]; |
| 214 | if (overlayLayer.query && overlayLayer.queryRenderedFeatures) { |
| 215 | overlayLayer.queryRenderedFeatures(nextGeometry, nextOptions, (features) => { |
| 216 | result = result.concat(features); |
| 217 | }); |
| 218 | } |
| 219 | return result; |
| 220 | }, []); |
| 221 | const resultOnMapLayers = originMapProto.queryRenderedFeatures.call(this, geometry, { ...options, layers: layersOnMap }); |
| 222 | return resultOnMapLayers.concat(resultOnOverlayerLayers); |
| 223 | } |
| 224 | |
| 225 | querySourceFeatures(sourceId, paramters) { |
| 226 | const customOverlayerLayer = Object.values(this.overlayLayersManager).find(item => item.sourceId === sourceId && item instanceof CustomOverlayLayer); |
no test coverage detected