获取功能ID openlayers5

时间:2019-05-31 11:20:47

标签: openlayers-5

在OL2中,功能ID是在内部生成的。在OL5中,似乎情况并非如此,因为ID未定义。内部功能ID是否已从OL5中删除?如果不是,我需要做什么来获取ID的生成。我通过以下方式请求ID:

feature.getId()

2 个答案:

答案 0 :(得分:0)

如果geoJson或其他来源包含要素ID,则将使用它们,否则,要素ID将保持未定义状态。如果需要,可以生成自己的ID。  如果源包含具有ID和不具有ID的多种功能,则需要确保自动生成的ID是唯一的(例如,使用前缀)。

var featureId = 0;
vector.getSource().on('addfeature', function(e){
  featureId++;
  if (!e.feature.getId()) {
    e.feature.setId('auto-gen-'+featureId);
  }
});

答案 1 :(得分:0)

openlayers 5不会生成要素ID。

创建功能时,必须设置功能的ID(如有必要)。使用setId方法。 现在,通过调用feature.getId(),您将获得功能ID。

必须考虑到,在相同的地图来源中,id必须是唯一的。