我有这段代码:
let text = new ol.style.Text({
font: '14px Arial',
text: 'string'
});
let icon = new ol.style.Style({
image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
anchor: [0.5, 46],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
src: './img/icon.png'
})),
text: text
});
为什么这有效? :
text.setText("otherString");
icon.setText(text);
feature.setStyle(icon)
// the name of someFeature is changed to someOtherString as supposed to
但这不起作用:
feature.setStyle(icon.setText(text.setText("anotherString")));
//name is not changed.
这可能是我不明白的Javascript。请帮忙! 谢谢!
答案 0 :(得分:1)
可能是因为someText.setText()
返回类型不是预期的someIcon.setText()
输入类型。
如果您尝试这样做:someIcon.setText(someText);
您传递的是对象someText
,而不是someText.setText("someOtherString")
的输出。
这就是为someIcon.setText(someText);
工作但[{1}}无效的原因。