【问题标题】:Feature ID's in OpenLayers 3 are undefinedOpenLayers 3 中的功能 ID 未定义
【发布时间】:2015-12-31 13:52:57
【问题描述】:

在 OL2 中,功能 ID 是在内部生成的。在 OL3 中,这似乎不是这种情况,因为 id 是未定义的。我尝试过使用 WKT、JSON 和 KML 源,但它们都没有为功能分配 id。 OL3 中的内部功能 ID 是否已删除?如果不是,我需要做什么才能生成 id。我通过以下方式请求 ID:

feature.getId();

这是拖放的真正问题,因为我无法控制文件。

干杯

【问题讨论】:

  • 我和你一样面临同样的问题,但我还没有找到解决方案。所以,我很想知道你是否设法解决了它。

标签: openlayers-3


【解决方案1】:

不,OL3 不会生成任何功能 ID。

在读取特征时,每个Format都可以设置特征ID,如果它是根据格式的语义定义的。对于 GeoJSON,它是特征的“id”成员(不是属性)。

创建新功能时,应用程序有责任在必要时设置功能 ID。使用该功能的setId 方法。如果使用 Draw 交互,drawend 事件可能会很有用。

您还应该注意有关 OL3 中功能 ID 的这些事实:

具有重复 ID 的要素不得位于同一来源中。如果您将特征添加到存在具有相同 ID 的特征的源中,则新特征将被忽略。

功能 ID 作为字符串进行比较,因此 1234"1234" 被视为相等。

在根据每种格式的特征标识符规范对特征进行序列化时,会包含 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    相关资源
    最近更新 更多