LayerGroup(Layer)
用法:把一些Layer集中到一個組Group中,以便作為一個整體進行操作。如果把該Group加入到了Map中,任何從這個Group增加或者移除Layer的行為都將導致該Layer在Map中被執行相同的操作。
1、用例
L.layerGroup([marker1 , marker2])
.addLayer(polyline)
.addTo(map);
這段代碼表示,①創建一個LayerGroup,該LayerGroup初始是由兩個Layer對象marker1和marker2組成的;②在初始LayerGroup中加入了一個新的Layer對象polyline;③把該LayerGroup加入到Map中。
2、初始化
L.layerGroup(<Layer[]>layers? , <Object>options)
3、參數
繼承自Layer
4、方法
addLayer(<Layer>layer) //把layer加入到Group中 removeLayer(<Layer>layer) //從Group中移除layer removeLayer(id) //移除id對應的layer clearLayers() //移除Group中所有layer eachLayer( <Function> fn , <Object>context? ) //對每個Layer都進行函數fn,context是每個fn的上下文 getLayer(id) //返回id對應的Layer getLayers() //返回一個Layer[],其中包含了所有的Layer setZIndex(n) //設置該Group的zIndex,會對Group中的所有Layer都設置為相同的zIndex getLayerId(<Layer>layer)//返回layer的ID
繼承自Layer的方法
FeatureGroup(LayerGroup)
繼承自LayerGroup,可以讓Group中的Layer更容易實現同一件事情:
- bindPopup將為Group中的所有Layer都綁定一個Popup(bindTooltip也同樣);
- 作用在Group上的event Handler,將對其中Layer上的事件進行響應,包括自定義事件和鼠標事件;
- 擁有layeradd和layerremove事件
1、用例
L.featureGroup([marker1 , marker2 , polyline]) .bindPopup('Helloworld!') .on('click',function(){alert('Clicked on a member of the group!');}) .addTo(map);
這個FeatureGroup由三個Layer組成:marker1、marker2、polyline;每個Layer都有一個Popup,且每個Layer都會對事件'click'進行響應。
2、初始化
L.featureGroup(<Layer[]>layers?, options)
3、參數
繼承於Layer
4、方法
setStyle(<Path options>style)//對Group中每個實現了setStyle方法的Layer用給定參數進行setStyle bringToFront() //把該Group放在其他所有Layer之上 bringToBack() //把該Group放在其他所有Layer之下 getBounds() //返回該Group的Bounds
其他方法繼承自LayerGroup、Layer