预期效果
当用户单击多边形要素(县、地区或邻里/市镇)或使用“绘制”小部件时,仪表板卡会显示返回的相交点要素的数量queryFeatures()
(见下文)。
localitiesLayer.queryFeatures(query).then(function(results) {
var queriedLocalities = results.features;
if (queriedLocalities.length > 0) {
var fossilsFound = queriedLocalities.length;
}
}
问题
即使选择了超过 2,000 个点要素,返回的相交要素的最大数量也是 2,000 个。
在下面的照片中,只有“该地区2000个化石遗址!” 当应该返回超过 3,000 个特征时。
故障排除
当不是查询 localitiesLayer 要素图层,而是查询要素图层视图时,该问题已得到修复。这引入了无法解决的问题,即queryFeatures
根据缩放级别更改返回的位置数量(详见API Reference for queryFeatures of FeatureLayerView)。
由于我似乎无法使用服务器端查询,因此我需要了解为什么会发生这种看似任意的数字。
起初我认为这与要素之间可能存在的拓扑问题有关,但为什么这会影响 Draw 小部件生成的多边形?在写这个问题之前,我还在所有要素图层上运行了集成工具,以确保没有任何不重合的多边形。
问题
即使超过 2,000 个点要素与选定的多边形相交,为什么queryFeatures()
在2,000 上返回要素的上限?localitiesLayer
为什么使用要素图层视图进行查询可以解决此问题(尽管如上所述不是此问题的有效解决方案)?