layer
究竟在_1422255中代表什么?
从概念上讲,对我来说,一个层将代表某种类型的特征或对象的单层;例如,表示基础水平图的所有图像区块将在单个层上表示,表示美国状态的一组多边形可以在它们自己的单独层上 .
具体来看L.GeoJSON.addGeoJSON(geojson),它会读取创建的每个新多边形都放在其中's own layer (and then maybe merged with the layer you'重新调用方法?) . 我的用例是我需要一次添加一个geoJSON对象,并希望确保我不会创建许多不必要的层(或者如果我是,如果这实际上是一件坏事) .
谢谢 .
1 回答
在Leaflet中,可以添加到 Map 的任何内容都是一个图层 . 所以多边形,圆形,标记,弹出窗口,瓷砖都是层 . 如果您希望将一组多边形视为单个图层,则可以在L.LayerGroup(或FeatureGroup)中组合图层 . 因此,您对图层的解释可能与Leaflet中
L.LayerGroup
建模的内容更好地匹配 .L.GeoJSON是从GeoJSON初始化的LayerGroup(特别是FeatureGroup) . 使用addLayer将每个新多边形添加到
L.GeoJSON
LayerGroup,这是将任何内容(即图层)添加到LayerGroup
的方法 . 它不会为每个多边形创建新图层(除了已被视为图层的L.Polygon
之外) . 它只为GeometryCollection和MultiPoints创建新的FeatureGroups(LayerGroups),(我假设)是为了保留GeoJSON的结构 .如果要一次将geoJSON对象添加到同一个LayerGroup,可以只调用
L.GeoJSON.geometryToLayer
来转换GeoJSON对象,然后使用L.LayerGroup.addLayer
将其添加到LayerGroup .