在OL2中,功能ID是在内部生成的.在OL3中,似乎并非如此,因为id是未定义的.我尝试过使用WKT,JSON和KML源代码,但没有一个ID分配给功能.是否已从OL3中删除内部功能ID?如果不是我需要做什么来获得id的生成.我通过以下方式请求id:
feature.getId();
这是拖放的真正问题,因为我无法控制文件.
干杯
不,OL3不会生成任何功能ID.
在读取特征时,如果根据格式的语义定义了特征ID,则每个格式都可以设置特征ID.对于GeoJSON,它是该功能的"id"成员(不是属性).
创建新功能时,应用程序有责任在必要时设置功能ID.使用setId
该功能的方法.如果使用Draw交互,它的drawend
事件可能会有用.
您还应该注意OL3中有关功能ID的这些事实:
没有重复ID的功能可能位于同一个源中.如果将要素添加到存在具有相同ID的要素的源,则会忽略新要素.
功能ID比较字符串,因此1234
和"1234"
被视为相等.
根据每个Format的功能标识符规范序列化功能时,会包含ID.