我是Open Layers库和JavaScript的新手。所以我想知道为什么我不能通过id
constructor参数指定Feature对象的style
或opt_geometryOrProperties
属性的值。毕竟它适用于geometry
属性:
var g = new ol.geom.Point([0, 0]);
var feature = new ol.Feature({geometry: g});
feature.getGeometry() === g; // true
但如果我使用id
或style
进行尝试,则不工作:
var g = new ol.geom.Point([0, 0]);
var id = 1;
var style = new ol.style.Style;
var feature = new ol.Feature({
geometry: new ol.geom.Point([0, 0]),
id: id,
style: style
});
feature.getId() === id; // false
feature.getStyle() === style; // false
如何判断哪些属性可以通过构造函数设置,哪些属性不可以?
答案 0 :(得分:3)
要回答你的第一个问题,你不能在构造函数中设置样式,它们似乎不太可能to add it to the constructor。关于在哪里可以找到构造函数中可以设置的属性,请参阅API documentation。
可能有用的一点是在矢量图层的图层中设置样式。
答案 1 :(得分:0)
var id = 1;
var style = new ol.style.Style;
var feature = new ol.Feature({
geometry: new ol.geom.Point([0, 0]),
id: id,
style: style
});
根据我的经验,这不是真的......我使用:
var feature = new ol.Feature({
geometry: new ol.geom.Point([0, 0]),
style: style
});
feature.setId(id);