Openlayers 3 是否可能使覆盖显示在地图控件下方?

Openlayers 3 是否可能使覆盖显示在地图控件下方?,openlayers-3,Openlayers 3,我有一张地图,上面有一系列由外部数据构成的覆盖图,显示信息。我想知道是否有一种方法可以设置覆盖,这样它就不会在地图控件的顶部绘制了 默认情况下,当位置中的控件发生重叠时,它们会覆盖和隐藏控件 这与将控件添加到地图的方式有关。 放大和缩小按钮是默认的ol.control.Zoom,因此它是地图上添加的第一个控件。然后添加自定义控件,并重叠缩放控件 要克服此问题,请在map init期间禁用默认缩放控件,如下所示: ......new ol.Map({ controls: ol.control.

我有一张地图,上面有一系列由外部数据构成的覆盖图,显示信息。我想知道是否有一种方法可以设置覆盖,这样它就不会在地图控件的顶部绘制了


默认情况下,当位置中的控件发生重叠时,它们会覆盖和隐藏控件

这与将控件添加到地图的方式有关。 放大和缩小按钮是默认的
ol.control.Zoom
,因此它是地图上添加的第一个控件。然后添加自定义控件,并重叠缩放控件

要克服此问题,请在map init期间禁用默认缩放控件,如下所示:

......new ol.Map({
  controls: ol.control.defaults({
     zoom:false//here is the disable
    ........
然后添加自定义控件,然后在其顶部添加缩放控件。 所有这些都应该是:

var map = new ol.Map({
  controls: ol.control.defaults({
     zoom:false
  }).extend([
    new app.CustomControl(),
    new ol.control.Zoom()
  ]),
  layers: [
    new ol.layer.Tile({
      source: new ol.source.OSM()
    })
  ],
  target: 'map',
  view: new ol.View({
    center: [0, 0],
    zoom: 2,
    rotation: 1
  })
});
下面是一个例子,看看它的实际效果

更新


要处理覆盖,请在覆盖初始化期间设置
insertFirst:true
,以便覆盖显示在控件下方。检查api文档

在默认情况下,覆盖层将按预期显示在控件下面


在我的例子中,包含覆盖数据的div收到了一个z索引样式,这迫使它高于控件。

我说的不是控件,而是覆盖。现在,我开始怀疑问题是覆盖层上的内容迫使自己位于顶部,而不是固有的覆盖层问题。然后在覆盖层初始化期间,设置
insertFirst:true
,因此覆盖层显示在控件下方。检查api文档-->