获取功能 ID openlayers5

Get the Feature id openlayers5

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

feature.getId()

如果 geoJson 或其他来源包含将使用它们的特征 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);
  }
});

openlayers 5 不生成功能 ID。

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

必须注意的是,在同源的地图中id必须是唯一的。