У меня есть куча веб-слоев, и я хочу скрыть все многоугольники, которые пересекаются с заданной геометрией/другим слоем.
Я фильтрую эти пересекающиеся полигоны с помощью пространственного запроса, но потом не знаю, как их скрыть. Я думал, что можно манипулировать визуализатором полученных полигонов, что-то вроде: hide(), opacity = 0, visible=false... Это правильный подход, или мне нужно сначала запросить полигоны, которые не пересекаются, а затем добавить результаты в новый слой и визуализировать только их? Что в таком случае должно быть query.spatialRelationship?
Вот мой запрос:
view.whenLayerView(layer).then(function(layerView){
var query = layer.createQuery();
query.geometry = new Extent({
xmin: 6902682.7633,
ymin: -3519872.5095,
xmax: 11221869.7958,
ymax: -2276864.0272,
spatialReference: 102100
});
query.spatialRelationship = "intersects";
layer.queryFeatures(query).then(function(results){
for (var index in results.features) {
//hide as manipulate its rendering
}
// or something like layerView.highlight(results.features)
})
});
objectid NOT IN (1, 2, 3, 4...)
- person BigGerman   schedule 30.01.2019query.spatialRelationship
неверно. В документах по API говорится, что это должно быть взято из констант список для класса Query. - person Juffy   schedule 12.02.2019