Azure 地图图层相互重叠

Azure maps layers are getting on top of each other

我正在使用 azure 地图。

发生的事情是我有 2 层。一个有圆的层和一个有多边形的层。

我有一个功能,当我点击一个特定的圈子时会出现一个弹出窗口。

当我在圆形图层之后添加多边形图层时出现问题。

就像在圆形图层上绘制了多边形图层。其中它防止在单击圆圈时出现弹出窗口。

这是我添加多边形图层的方式:

showFetchedResultOnMap(facilities) {
 const self = this;
 if (facilities && facilities.length > 0) {
  self.cleanRestrictionLayer();
  //Create a data source and add it to the map.
  self.datasource = new atlas.source.DataSource();

  self.map.sources.add(self.datasource);
  //Add a data set to the data source. 

  self.CleanMap();
  //Create a data source and add it to the map.
  var datasource = new atlas.source.DataSource();
  self.map.sources.add(datasource);
  self.map.imageSprite.add(self.chosenCategory, 'assets/svg/' + self.chosenCategory + '.svg')
    .then(function () {
      facilities.forEach(cat => {
        datasource.add(new atlas.data.Feature(new atlas.data.Point([cat.longitude, cat.latitude])));
      });

      //Add a layer for rendering point data as symbols.
      self.map.layers.add(new atlas.layer.SymbolLayer(datasource, self.chosenCategory, {
        iconOptions: {
          //Pass in the id of the custom icon that was loaded into the map resources.
          image: self.chosenCategory,

          //Optionally scale the size of the icon.
          size: 0.1
        }
      }));
    });
}
}

有人知道我该如何解决这个问题吗??

我在您提供的代码中没有看到多边形图层。也就是说,当您向地图添加图层时,默认情况下添加它们的顺序是 z-index。最后添加的放在最上面。也就是说,当使用 map.layers.add 函数添加图层时,您可以添加第二个参数,该参数可以是另一个图层或图层 ID。指定后,您要添加的层将插入到第二个指定层的下方。这是关于此的文档:https://docs.microsoft.com/en-us/javascript/api/azure-maps-control/atlas.layermanager?view=azure-maps-typescript-latest#add-layer---layer----string---layer-

这是一个简短的例子:

map.layers.add(new atlas.layers.BubbleLayer(datasource, 'myBubbles'));

map.layers.add(new atlas.layers.PolygonLayer(datasource, 'myPolygons'), 'myBubbles');