uniquerValues - 需要视图才能从 layerView 和 feature-layer-adapter:insufficient-data 查询统计信息
uniquerValues - view is required to query stats from layerView" and feature-layer-adapter:insufficient-data
我正在尝试为 JavaScript 4.10 使用来自 ESRI ArcGIS 的 uniqueValues 函数。
但是,它失败并显示以下消息:
message: "view is required to query stats from layerView" name:
"feature-layer-adapter:insufficient-data"
我有一个 FeatureLayer
具有特征和一个名为 sStatus
的字段。我还有一个 Legend
设置,它与基于此 sStatus
字段的 UniqueValueRenderer
一起工作得很好。
这是我的代码:
uniqueValues({
layer: layer,
field: "sStatus"
}).then(function (response) {
// prints each unique value and the count of features containing that value
var infos = response.uniqueValueInfos;
console.log('test');
infos.forEach(function (info) {
console.log("Wells : ", info.value, " # of Wells ", info.count);
});
}).catch(errback);
注意:如果我将字段名称更改为“status
”,控制台中的错误消息会更改:
message: "Unknown fields: status. You can only use fields defined in
the layer schema" name: "unique-values:invalid-parameters"
这表明我的字段 sStatus
是正确的,但我不明白为什么它不能开箱即用。
知道为什么会失败吗?
发布问题后,我通过重新阅读 uniqueValues
函数 documentation 得到了答案。
消息一开始就很清楚:它缺少视图。
uniqueValues
函数有一个 view
参数,它不是示例代码的一部分...
view View optional
A SceneView or MapView instance is required when a valueExpression is
specified.
所以我要做的是:
niqueValues({
layer: layer,
field: "sStatus",
view: mapView
}).then(function (response) {
// prints each unique value and the count of features containing that value
var infos = response.uniqueValueInfos;
console.log('test');
infos.forEach(function (info) {
console.log("Wells : ", info.value, " # of Wells ", info.count);
});
}).catch(errback);
我正在尝试为 JavaScript 4.10 使用来自 ESRI ArcGIS 的 uniqueValues 函数。
但是,它失败并显示以下消息:
message: "view is required to query stats from layerView" name: "feature-layer-adapter:insufficient-data"
我有一个 FeatureLayer
具有特征和一个名为 sStatus
的字段。我还有一个 Legend
设置,它与基于此 sStatus
字段的 UniqueValueRenderer
一起工作得很好。
这是我的代码:
uniqueValues({
layer: layer,
field: "sStatus"
}).then(function (response) {
// prints each unique value and the count of features containing that value
var infos = response.uniqueValueInfos;
console.log('test');
infos.forEach(function (info) {
console.log("Wells : ", info.value, " # of Wells ", info.count);
});
}).catch(errback);
注意:如果我将字段名称更改为“status
”,控制台中的错误消息会更改:
message: "Unknown fields: status. You can only use fields defined in the layer schema" name: "unique-values:invalid-parameters"
这表明我的字段 sStatus
是正确的,但我不明白为什么它不能开箱即用。
知道为什么会失败吗?
发布问题后,我通过重新阅读 uniqueValues
函数 documentation 得到了答案。
消息一开始就很清楚:它缺少视图。
uniqueValues
函数有一个 view
参数,它不是示例代码的一部分...
view View optional
A SceneView or MapView instance is required when a valueExpression is specified.
所以我要做的是:
niqueValues({
layer: layer,
field: "sStatus",
view: mapView
}).then(function (response) {
// prints each unique value and the count of features containing that value
var infos = response.uniqueValueInfos;
console.log('test');
infos.forEach(function (info) {
console.log("Wells : ", info.value, " # of Wells ", info.count);
});
}).catch(errback);