更新集群中的功能后如何更新地图?

时间:2019-04-30 13:23:33

标签: javascript openlayers

当我更改价格值时,我正在尝试更新群集中的功能。没问题,将它们放在集群中,但是由于某种原因,我不知道为什么它仍然加载以前的功能而不是新功能。

我一直在寻找可以帮助您的问题,但没有一个帮助。尝试过map.updateSize(),清除图层,然后添加要素map.renderSynch()。

在标签中创建功能:

for (var i =0; i < obj.length; i++) {
    if (typebien == "FC") {                  
          features_FC.push(createCluster(typebien, title, latitude,longitude, nb, ville, secteur, adresse,nom));
     }else if (typebien == "IM") {                       
          features_IM.push(createCluster(typebien, title, latitude,longitude, nb, ville, secteur, adresse,nom));
     }

创建矢量源和图层

var sourceIM = new ol.source.Vector({
   features: features_IM
});

var clusterSourceFC = new ol.source.Cluster({
   distance: 30,
   source: sourceFC
});

将其添加到地图

它已经显示了应该执行的所有功能,但是当我从滑块更改价格值时,它仍然显示了不可能的相同功能。关于如何更新地图以在群集中具有新功能的任何想法吗?

编辑: 我实际上在这里,我的地图和集群显示得很好,但是当我开始更改价格值时,它仍然显示相同数量的集群。 尝试了clusterSourceFC.refresh({force:true}),但仍然无济于事

我的地图的图像(因为我没有足够的声誉来发布它) https://zupimages.net/up/19/18/co65.png

1 个答案:

答案 0 :(得分:0)

您可以使用clusterSourceFC.refresh({force:true});

刷新图层的来源

但是,在不知道features_FCfeatures_IM和函数createCluster是什么的情况下,很难解决问题