Skip to content

Commit 98684b7

Browse files
漏提交
1 parent 8971b81 commit 98684b7

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/openlayers/overlay/vectortile/VectorTileStyles.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,21 @@ export class VectorTileStyles extends Observable {
8383
cartoCss = cartoCss.replace(/[@]/gi, "___");
8484
cartoCss = cartoCss.replace(/\\#/gi, "___");
8585
//替换一些关键符号
86-
for (var attr in layersInfo) {
86+
var cachedLayer = {};
87+
layersInfo && Object.keys(layersInfo).sort().forEach(function (attr) {
8788
var newAttr = attr.replace(/[@#\s]/gi, "___");
88-
cartoCss = cartoCss.replace(attr.replace(/[#]/gi, "\\#"), newAttr);
89-
}
89+
var to = attr;
90+
var keys = Object.keys(cachedLayer);
91+
for (let index = keys.length; index > -1; index--) {
92+
if (attr.indexOf(keys[index]) > -1) {
93+
to = attr.replace(keys[index], cachedLayer[keys[index]]);
94+
break;
95+
}
96+
}
97+
to = to.replace(/[#]/gi, "\#");
98+
cachedLayer[attr] = newAttr;
99+
cartoCss = cartoCss.replace(new RegExp(to, "g"), newAttr);
100+
})
90101
cartoCss = cartoCss.replace(/[#]/gi, "\n#");
91102
//将zoom转化为scale,以免引起混淆
92103
cartoCss = cartoCss.replace(/\[zoom/gi, "[scale");

0 commit comments

Comments
 (0)