• 1000 вместо этого некоторые из них отображаются, но когда я снимаю выделение и снова выбираю, появляются функции в моих приоритетных областях.
Я попытался исправить эту проблему, реализовав стратегию разными подходами, но ничего не помогло. Ниже мой реализованный код:
this.arcGisUrl = 'URL';
const vectorSource = new ol.source.Vector({
loader: function (extent, resolution, projection) {
that.loadedSolution = resolution;
const url =
that.arcGisUrl +
'/query/?f=json&' +
'returnGeometry=true' + token + '&spatialRel=esriSpatialRelIntersects&geometry=' +
encodeURIComponent(
'{"xmin":' +
extent[0] +
',"ymin":' +
extent[1] +
',"xmax":' +
extent[2] +
',"ymax":' +
extent[3] +
',"spatialReference":{"wkid":102100,"latestWkid":3857}}'
) +
'&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*' +
'&outSR=102100&resultType=tile';
$.ajax({
url: url,
dataType: 'json',
success: function (response) {
if (response.error) {
console.log(response.error);
} else {
// dataProjection will be read from document
const features = new ol.format.EsriJSON().readFeatures(response, <any>{
featureProjection: projection
});
if (features.length > 0) {
vectorSource.addFeatures(features);
}
}
}
});
},
// strategy: ol.loadingstrategy.tile(
// ol.tilegrid.createXYZ({
// tileSize: 512
// })
// )
strategy: function (extent, resolution) {
if (that.loadedSolution && that.loadedSolution != resolution) {
this.loadedExtentsRtree_.clear();
//vectorSource.clear(true);
}
return [extent];
}
//strategy: ol.loadingstrategy.bbox
});