Определение слоя листовки

Что именно представляет layer в Библиотека сопоставления листов?

Концептуально, для меня слой будет представлять собой один уровень определенного типа объекта или объекта; например, все плитки изображений, представляющие карту базового уровня, будут представлены на одном уровне, множество полигонов, представляющих состояния в США, может быть на отдельном отдельном уровне.

В частности, глядя на L.GeoJSON.addGeoJSON(geojson), он читает, что каждый созданный новый многоугольник помещается в его собственный слой (а затем, возможно, сливается со слоем вы вызываете метод?). Мой вариант использования заключается в том, что мне нужно добавить много объектов geoJSON по одному за раз, и я хочу, чтобы я не создавал много ненужных слоев (или, если да, если это действительно плохо).

Спасибо.

Ответ 1

В листе все, что можно добавить к карте, - это слой. Таким образом, полигоны, круги, маркеры, всплывающие окна, плитки - это все слои. Вы можете комбинировать слои в L.LayerGroup (или FeatureGroup), если вы, например, хотите обрабатывать множество полигонов как один слой. Так что, возможно, ваша интерпретация слоев лучше соответствует тому, что моделируется L.LayerGroup в листе.

L.GeoJSON - это LayerGroup (в частности, FeatureGroup), которая инициализируется GeoJSON. Каждый новый многоугольник добавляется в L.GeoJSON LayerGroup с помощью addLayer, который является методом добавления чего-либо (слоя) к LayerGroup. Он не создает новый слой для каждого многоугольника (кроме L.Polygon, который уже считается слоем). Он создает только новые FeatureGroups (LayerGroups) для GeometryCollection и MultiPoints, которые (я полагаю), чтобы сохранить структуру из GeoJSON.

Если вы хотите добавить объекты geoJSON в одну группу LayerGroup по одному, вы можете просто вызвать L.GeoJSON.geometryToLayer, чтобы преобразовать объект GeoJSON, а затем добавить его в свою LayerGroup с помощью L.LayerGroup.addLayer.