I still can't use MapImageLayer to query directly
But use the url of the sublayer to create a ServiceFeatureTable to query
At present, relevant data can be queried
MapImageLayer is http://host/arcgis/rest/services/test/MapServer
ServiceFeatureTable is http://host/arcgis/rest/services/test/MapServer/id
after get some Tables
QueryParameters parameters = new QueryParameters();
parameters.setGeometry(selectBuffer.getGeometry());
parameters.setOutSpatialReference(SpatialReferences.getWebMercator());
parameters.setReturnGeometry(true);
parameters.setSpatialRelationship(QueryParameters.SpatialRelationship.INTERSECTS);
for(ServiceFeatureTable table : layerList){ ListenableFuture<FeatureQueryResult> listenableFuture = table.queryFeaturesAsync(parameters);
listenableFuture.addDoneListener(() -> {
try {
FeatureQueryResult queryResult = listenableFuture.get();
for(Feature feature:queryResult){
//TODO
}
} catch (ExecutionException | InterruptedException e) {
e.printStackTrace();
}
});
}
It is worth reminding that when using setSpatialRelationship, it is better to set the parameter to INTERSECTS
At present, I am still trying to display the acquired features on the map, using the highlighted method
Still looking forward to someone's answer