()
| 367 | }; |
| 368 | |
| 369 | var 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 | |
| 395 | var initIPortalLayersInfo = () => { |
| 396 | iPortalLayersInfo = {}; |
no test coverage detected