我需要在地图上绘制多层图标。必须通过单击选项面板来渲染或不渲染该图标的每组。 我发现了所有示例,这些示例显示了如何添加单个标记或一组标记,但没有多个标记。
我正在与Asymmetrik / ngx-leaflet一起工作,但是我认为我想念的概念适用于所有实现。
markersLayersLev_1: Marker[] = [];
markersLayersLev_2: Marker[] = [];
markersLayersLev_3: Marker[] = [];
如何将这些“图层”分别放置在地图上?
答案 0 :(得分:1)
好的,我发现了如何完成这项任务。
标记扩展了图层,因此我可以在LayerGroup中插入这些标记。 我有各种layerGroup,每个都有自己的一组标记。
ngx-leaflet leafletLayers指令接受一个图层数组,因此我将各种layerGroup放入LayerGroup []数组中,并将其设置为该指令的值。
在打字稿文件中:
itemsLevel_1: LayerGroup = new LayerGroup();
itemsLevel_2: LayerGroup = new LayerGroup();
marker1.addTo(itemsLevel_1);
marker2.addTo(itemsLevel_1);
marker3.addTo(itemsLevel_2);
marker4.addTo(itemsLevel_2);
layerMainGroup: LayerGroup[] = [
itemsLevel_1,
itemsLevel_2
];
,并在html页面中:
<div
id="mapContainer"
leaflet
[...]
[leafletLayers]="layerMainGroup"
></div>