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

Method getLayer

src/common/overlay/levelRenderer/Painter.js:321–367  ·  view source on GitHub ↗

* @function LevelRenderer.Painter.prototype.getLayer * @description 获取 zlevel 所在层,如果不存在则会创建一个新的层。 * * @param {number} zlevel - zlevel。 * @return {LevelRenderer.Painter} this。

(zlevel)

Source from the content-addressed store, hash-verified

319 * @return {LevelRenderer.Painter} this。
320 */
321 getLayer(zlevel) {
322 // Change draw layer
323 var currentLayer = this._layers[zlevel];
324 if (!currentLayer) {
325 var len = this._zlevelList.length;
326 var prevLayer = null;
327 var i = -1;
328 if (len > 0 && zlevel > this._zlevelList[0]) {
329 for (i = 0; i < len - 1; i++) {
330 if (
331 this._zlevelList[i] < zlevel
332 && this._zlevelList[i + 1] > zlevel
333 ) {
334 break;
335 }
336 }
337 prevLayer = this._layers[this._zlevelList[i]];
338 }
339 this._zlevelList.splice(i + 1, 0, zlevel);
340
341 // Create a new layer
342 //currentLayer = new PaintLayer(zlevel, this);
343 currentLayer = new PaintLayer(CommonUtil.createUniqueID("_levelLayer_" + zlevel), this);
344 var prevDom = prevLayer ? prevLayer.dom : this._bgDom;
345 if (prevDom.nextSibling) {
346 prevDom.parentNode.insertBefore(
347 currentLayer.dom,
348 prevDom.nextSibling
349 );
350 } else {
351 prevDom.parentNode.appendChild(
352 currentLayer.dom
353 );
354 }
355 currentLayer.initContext();
356
357 this._layers[zlevel] = currentLayer;
358
359 if (this._layerConfig[zlevel]) {
360 new Util().merge(currentLayer, this._layerConfig[zlevel], true);
361 }
362
363 currentLayer.updateTransform();
364 }
365
366 return currentLayer;
367 }
368
369
370 /**

Callers 3

_paintListMethod · 0.95
_brushHoverMethod · 0.95
_iterateAndFindHoverMethod · 0.45

Calls 3

initContextMethod · 0.80
mergeMethod · 0.80
updateTransformMethod · 0.45

Tested by

no test coverage detected