MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / initCartoCSSShaders

Function initCartoCSSShaders

test/openlayers/core/StyleUtilsSpec.js:369–393  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

367};
368
369var initCartoCSSShaders = () => {
370 var cartoCss;
371 if (ChinaCartoCSS.style && ChinaCartoCSS.type === 'cartoCSS') {
372 cartoCss = ChinaCartoCSS.style;
373 cartoCss = cartoCss.replace(/[@]/gi, "___");
374 cartoCss = cartoCss.replace(/\\#/gi, "___");
375 //替换一些关键符号
376 for (var attr in layersInfo) {
377 var newAttr = attr.replace(/[@#\s]/gi, "___");
378 cartoCss = cartoCss.replace(attr.replace(/[#]/gi, "\\#"), newAttr);
379 }
380 cartoCss = cartoCss.replace(/[#]/gi, "\n#");
381 //将zoom转化为scale,以免引起混淆
382 cartoCss = cartoCss.replace(/\[zoom/gi, "[scale");
383 }
384 var cartoShadersArray = new CartoCSS(cartoCss).getShaders();
385 var cartoShaders = {};
386 cartoShadersArray.map((cartoShader) => {
387 cartoShaders[cartoShader.elements[0].clean] = cartoShaders[cartoShader.elements[0].clean] || {};
388 cartoShaders[cartoShader.elements[0].clean][cartoShader.attachment] =
389 cartoShaders[cartoShader.elements[0].clean][cartoShader.attachment] || [];
390 cartoShaders[cartoShader.elements[0].clean][cartoShader.attachment].push(cartoShader);
391 });
392 return cartoShaders;
393}
394
395var initIPortalLayersInfo = () => {
396 iPortalLayersInfo = {};

Callers 1

StyleUtilsSpec.jsFile · 0.85

Calls 3

getShadersMethod · 0.80
mapMethod · 0.80
pushMethod · 0.80

Tested by

no test coverage detected