超图FAQ:
【问题原因】由于查询结果的要素ID是直接获取的SmID生成,导致使用readFeatures读取出来的结果中,出现了ID重复的情况;将要素添加到Source中时,重复ID的要素被忽略不做添加,导致查询结果在地图上显示不全
【解决办法】将查询出的features做一个遍历,为每一个feature重新设置id。
var features = (new ol.format.GeoJSON()).readFeatures(serviceResult.result.features);
for (let i = 0; i < features.length; i++) {
// 要素的id重复,需要重新设置要素的id
features[i].setId(i);
}
var vectorSource = new ol.source.Vector({
features: features,
wrapX: false
});