I have a buffer featureLayer query that does not return features if part of the buffered area in the view is off screen. How can I get buffer results in this situation? Thanks.
What is meant by "available to or visible" here in the documentation? I always want to return available regardless of visibile.
To query features/graphics available to or visible in the View on the client rather than making a server-side query, you must use the FeatureLayerView.queryFeatures() method.
https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#queryFeatures
Here's my procedural code fragment.
Step 1. Create queryFeatureLayer
const queryFeatureLayer = new FeatureLayer({
url: url,
geometryType: 'polygon',
title: 'myfeatureLayer',
spatialReference: {
wkid: 102659,
},
outFields: [
'OBJECTID',
and others...
]
});
Step 2. Wait for global object mapLayerView to be ready then run queryLayerView()
reactiveUtils
.whenOnce(() => !mapLayerView.updating)
.then(() => {
queryLayerView();
Step 3. Execute the queryLayerView
const queryObject = mapLayerView.createQuery();
queryObject.geometry = sketchGeometryMode();
queryObject.units = unitType;
queryObject.distance = bufferSize;
queryObject.spatialRelationship = 'intersects';
queryObject.outSpatialReference = view.spatialReference;
queryObject.returnQueryGeometry = true;
queryObject.returnDistinctValues = true;
queryObject.outFields = ['*'];
Step 4. Get results
return mapLayerView
.queryFeatures(queryObject)
.then((layerView) => { ... }