如何添加多组标记?

时间:2018-12-12 15:24:38

标签: leaflet angular-leaflet-directive ngx-leaflet

我需要在地图上绘制多层图标。必须通过单击选项面板来渲染或不渲染该图标的每组。 我发现了所有示例,这些示例显示了如何添加单个标记或一组标记,但没有多个标记。

我正在与Asymmetrik / ngx-leaflet一起工作,但是我认为我想念的概念适用于所有实现。

  markersLayersLev_1: Marker[] = [];
  markersLayersLev_2: Marker[] = [];
  markersLayersLev_3: Marker[] = [];

如何将这些“图层”分别放置在地图上?

1 个答案:

答案 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>