在新版本v 5.3.0中(ol映射库) 行为归因已更改。在出现图标“ i”之前,在其下均显示图层的所有属性。
现在我有了一些扁平化的信息。
开发人员提供了使用先前行为的说明:
ol/source/OSM
的属性不可折叠当地图包含来自
ol/source/OSM
的图层时,ol/control/Attribution
控件将显示为“可折叠: 错误的行为。要获得以前的行为,请配置
ol/control/Attribution
collapsible: true
进行控制。
但是如何实现呢?
答案 0 :(得分:3)
在以前的版本中指定了与collapsible: false
相同的方式(请注意,OSM和其他一些来源一直是使用条款的要求,在面向公众的网站上使用图块时,属性总是可见的)
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import {defaults as defaultControls} from 'ol/control.js';
import TileLayer from 'ol/layer/Tile.js';
import OSM from 'ol/source/OSM.js';
var map = new Map({
layers: [
new TileLayer({
source: new OSM()
})
],
controls: defaultControls({ attributionOptions: { collapsible: true } }),
target: 'map',
view: new View({
center: [0, 0],
zoom: 2
})
});
或者如果您使用的是完整版本:
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
controls: ol.control.defaults({ attributionOptions: { collapsible: true } }),
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
答案 1 :(得分:0)
我尝试过的麦克
controls: ol.control.defaults({ attributionOptions: { collapsible: true }).extend([
new ol.control.FullScreen(),
new ol.control.ZoomSlider(),
new ol.control.Zoom(), ... ]),
一切正常。 非常感谢!