当前位置:  开发笔记 > 前端 > 正文

OpenLayers 3中的功能ID未定义

如何解决《OpenLayers3中的功能ID未定义》经验,为你挑选了1个好方法。

在OL2中,功能ID是在内部生成的.在OL3中,似乎并非如此,因为id是未定义的.我尝试过使用WKT,JSON和KML源代码,但没有一个ID分配给功能.是否已从OL3中删除内部功能ID?如果不是我需要做什么来获得id的生成.我通过以下方式请求id:

feature.getId();

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

干杯



1> 小智..:

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

在读取特征时,如果根据格式的语义定义了特征ID,则每个格式都可以设置特征ID.对于GeoJSON,它是该功能的"id"成员(不是属性).

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

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

没有重复ID的功能可能位于同一个源中.如果将要素添加到存在具有相同ID的要素的源,则会忽略新要素.

功能ID比较字符串,因此1234"1234"被视为相等.

根据每个Format的功能标识符规范序列化功能时,会包含ID.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有