Почему листовка. js добавляет более одного слоя на map.addlayer (layer)? - PullRequest
0 голосов
/ 08 апреля 2020

У меня проблема с листовкой. Я пытаюсь добавить только один слой, но листовка добавляет более одного.

Вот код:

var region_layer = L.geoJSON(layer);

// Count layers
console.log("Before adding a layer")
let i = 0;
mymap.eachLayer(function(){ i += 1; });
console.log('Map has', i, 'layers.');

// Add one layer
mymap.addLayer(region_layer);

// Count layers again
console.log("After adding a layer")
let z = 0;
mymap.eachLayer(function(){ z += 1; });
console.log('Map has', z, 'layers.');

А вот вывод в консоли:

Before adding a layer
Map has 0 layers.
After adding a layer
Map has 3 layers.

и вот аспект первой переменной layer:

enter image description here

Почему листовка добавляет 3 слоя вместо одного?

1 Ответ

1 голос
/ 09 апреля 2020

Три экземпляра Layer в таком случае:

  • Экземпляр L.GeoJSON, который анализирует ваши данные гео json и порождает необходимые экземпляры векторных слоев, которые в вашем конкретном случае c просто ...
  • Экземпляр L.Polygon, который отвечает за интерпретацию координат и стиля указанного c полигон и отправьте эту информацию в ...
  • Экземпляр L.Renderer, который будет либо L.SVG, либо L.Canvas в зависимости от вашего браузера и опции prefercanvas экземпляра вашей карты . Рендерер отвечает за фактическое рисование видимых объектов, когда это необходимо (либо порождает <svg> элементов в DOM, либо переводит пиксели в <canvas> соответственно).
...