ArcGIS Java ServiceFeatureTable 查询总是 returns 只有 1 个特征
ArcGIS Java ServiceFeatureTable query always returns only 1 feature
我正在尝试使用 arcgis-java
(ArcGIS Runtime) 查询 ArcGIS Online 要素图层,如下所示:
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();
}
但它总是 returns 只有一个特征,即使该层具有不止 1 个特征。我怎样才能获得不止一项功能?
我也试过设置setMaxFeatures
但是没有效果。
主要是我没有创建 FeatureLayer
和 MapView
对象,也没有在 MapView 上添加 FeatureLayer。我只想查询ServiceFeatureTable
.
我认为它返回了所有功能,但您只看到了第一个。尝试更改 if
:
if (iterator.hasNext()) {
到while
:
while (iterator.hasNext()) {
我正在尝试使用 arcgis-java
(ArcGIS Runtime) 查询 ArcGIS Online 要素图层,如下所示:
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();
}
但它总是 returns 只有一个特征,即使该层具有不止 1 个特征。我怎样才能获得不止一项功能?
我也试过设置setMaxFeatures
但是没有效果。
主要是我没有创建 FeatureLayer
和 MapView
对象,也没有在 MapView 上添加 FeatureLayer。我只想查询ServiceFeatureTable
.
我认为它返回了所有功能,但您只看到了第一个。尝试更改 if
:
if (iterator.hasNext()) {
到while
:
while (iterator.hasNext()) {