MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / queryRenderedFeatures

Method queryRenderedFeatures

src/common/util/MapExtend.js:202–223  ·  view source on GitHub ↗
(geometry, options)

Source from the content-addressed store, hash-verified

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);

Callers 6

MapExtendSpec.jsFile · 0.45
L7LayerSpec.jsFile · 0.45
MapExtendSpec.jsFile · 0.45
L7LayerSpec.jsFile · 0.45
OFunction · 0.45
mapbox-gl.jsFile · 0.45

Calls 1

filterMethod · 0.80

Tested by

no test coverage detected