🐛 [BUG] 行政区划图 Choropleth 使用 update方法 更新 label.style.textAllowOverlap 不生效
CodingAndSleeping opened this issue · comments
CodingAndSleeping commented
新建Choropleth 图层;
动态切换label.style.textAllowOverlap 的值;
调用update方法 不生效;
线上复现demo:
demo
lvisei commented
update 变量勿使用引用更新,参考
map.update({
label: {
visible: true,
field: "name",
style: {
fill: "#000",
opacity: 0.8,
fontSize: 11,
fontWeight: "normal",
fontFamily: "PingFang SC",
// spacing: 4,
stroke: "#fff",
strokeWidth: 1.5,
textAllowOverlap: flag,
padding: [5, 5],
},
},
});
CodingAndSleeping commented
update 变量勿使用引用更新,参考
map.update({ label: { visible: true, field: "name", style: { fill: "#000", opacity: 0.8, fontSize: 11, fontWeight: "normal", fontFamily: "PingFang SC", // spacing: 4, stroke: "#fff", strokeWidth: 1.5, textAllowOverlap: flag, padding: [5, 5], }, }, });
有点不太明白,不能赋给他一个变量吗,要给他一个具体的值?
CodingAndSleeping commented
update 变量勿使用引用更新,参考
map.update({ label: { visible: true, field: "name", style: { fill: "#000", opacity: 0.8, fontSize: 11, fontWeight: "normal", fontFamily: "PingFang SC", // spacing: 4, stroke: "#fff", strokeWidth: 1.5, textAllowOverlap: flag, padding: [5, 5], }, }, });
使用这种方式也只有前两次能修改,再点击就失效了
lvisei commented
update 变量勿使用引用更新,参考
map.update({ label: { visible: true, field: "name", style: { fill: "#000", opacity: 0.8, fontSize: 11, fontWeight: "normal", fontFamily: "PingFang SC", // spacing: 4, stroke: "#fff", strokeWidth: 1.5, textAllowOverlap: flag, padding: [5, 5], }, }, });有点不太明白,不能赋给他一个变量吗,要给他一个具体的值?
Immutability 了解一下
lvisei commented
使用这种方式也只有前两次能修改,再点击就失效了
需要直接用 L7 复现一下,再确认一下
CodingAndSleeping commented
map.update({ label: { visible: true, field: "name", style: { fill: "#000", opacity: 0.8, fontSize: 11, fontWeight: "normal", fontFamily: "PingFang SC", // spacing: 4, stroke: "#fff", strokeWidth: 1.5, textAllowOverlap: flag, padding: [5, 5], }, }, });
CodingAndSleeping commented
update 变量勿使用引用更新,参考
map.update({ label: { visible: true, field: "name", style: { fill: "#000", opacity: 0.8, fontSize: 11, fontWeight: "normal", fontFamily: "PingFang SC", // spacing: 4, stroke: "#fff", strokeWidth: 1.5, textAllowOverlap: flag, padding: [5, 5], }, }, });
用同样的方式去修改字体大小等属性没有问题,textallowoverlap就不行