OpenLayers v 5.3.0 - вернуть поведение атрибуции

В новой версии v 5.3.0 (библиотека ol map) изменена атрибуция поведения. Раньше у меня был значок «i» и под ним все атрибуты отображаемых слоев.

введите описание изображения здесь

введите описание изображения здесь

Теперь у меня есть некоторая сглаженная информация.

Разработчики дали инструкции использовать предыдущее поведение:

Атрибуция не может быть свернута для ol/source/OSM

Когда карта содержит слой из ol/source/OSM источника, элемент управления ol/control/Attribution будет отображаться с поведением «collapsible: false».

Чтобы получить предыдущее поведение, настройте элемент управления ol/control/Attribution с помощью collapsible: true.

Но как этого добиться?


person Bear    schedule 21.11.2018    source источник


Ответы (2)


Точно так же, как 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
  })
});
person Mike    schedule 21.11.2018

Майк, я пробовал

controls: ol.control.defaults({ attributionOptions: { collapsible: true }).extend([ 
new ol.control.FullScreen(), 
new ol.control.ZoomSlider(), 
new ol.control.Zoom(), ... ]),

И все нормально. Огромное спасибо!

person Bear    schedule 22.11.2018