Запрос ArcGIS Java ServiceFeatureTable всегда возвращает только 1 объект - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь запросить векторный слой ArcGIS Online, используя arcgis-java (ArcGIS Runtime), как показано ниже:

ServiceFeatureTable featureTable = new ServiceFeatureTable(this.SERVICE_FEATURE_URL);
QueryParameters query = new QueryParameters();
query.setWhereClause("1=1");
query.setReturnGeometry(true);
ListenableFuture<FeatureQueryResult> queryFeaturesAsync = featureTable.queryFeaturesAsync(query);
try {
    FeatureQueryResult result = queryFeaturesAsync.get();
    Iterator<Feature> iterator = result.iterator();
    if (iterator.hasNext()) {
        Feature feature = iterator.next();
        System.out.println(feature.getAttributes());
        System.out.println(feature.getGeometry());
    }
} catch (Exception e) {
    e.printStackTrace();
}

Но всегда он возвращает только один объект, даже если слой имеет более 1 объекта.Как я могу получить более одной функции?

Также я попытался установить setMaxFeatures, но эффекта нет.

Главное, я не создаю FeatureLayer иMapView объектов и без добавления FeatureLayer на MapView.Я просто хочу запросить ServiceFeatureTable.

1 Ответ

0 голосов
/ 29 мая 2018

Я думаю, что он возвращает все функции, но вы смотрите только на первую.Попробуйте изменить if:

if (iterator.hasNext()) {

на while:

while (iterator.hasNext()) {
...