首页 > 解决方案 > 如何添加多组标记?

问题描述

我需要在我的地图上绘制多层图标。必须通过单击选项面板来呈现或不呈现每组该图标。我找到了所有显示如何添加单个标记或一组标记的示例,但没有关于多个组的内容。

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

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

我怎样才能在地图上以单独的方式放置这个“层”?

标签: leafletangular-leaflet-directivengx-leaflet

解决方案


好的,我找到了如何执行此任务。

标记扩展了图层,因此我可以在图层组中插入这些标记。我有各种各样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>

推荐阅读