代码如下:
map.on("click", function(evt) {
selectQuery.geometry = evt.mapPoint;
selectQuery.distance = 50;
selectQuery.units = "kilometers"
selectQuery.returnGeometry = true;
// selectQuery.spatialRelationship = Query.SPATIAL_REL_CONTAINS;
teamsFL.selectFeatures(selectQuery, FeatureLayer.SELECTION_NEW, function(features) {
if (features.length > 0) {
//store the current feature
updateFeature = features[0];
map.infoWindow.setTitle(features[0].getLayer().name);
map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));
}
else {
map.infoWindow.hide();
}
});
});
查询结果数量一直为0,不论把distance的值变为多大。
原因,发布的数据不支持Query的distance查询方式,高级的缓冲区查询方式。
帮助原文;
An object that contains service level metadata about whether or not the layer supports queries using statistics, order by fields, DISTINCT
, pagination, query with distance, and returning queries with extents. This object contains the existing properties supportsStatistics
andsupportsAdvancedQueries
which is returned in the new supportsOrderBy
property. For backward compatibility supportsStatistics
andsupportsAdvancedQueries
will remain properties of FeatureLayer.
<span style="font-size:18px;">"advancedQueryCapabilities" : {
"supportsPagination" : true,
"supportsQueryWithDistance" : true,
"supportsReturningQueryExtent" : true,
"supportsStatistics" : true,
"supportsOrderBy" : true,
"supportsDistinct" : true
}</span>
supportsAdvancedQueries
When true, the layer supports
orderByFields
in a query operation. Requires ArcGIS Server service version 10.1 or greater (Added at v2.6)