Как правильно добавить ПОЛНОЭКРАННЫЙ режим управления?

#javascript #maps #openlayers

#язык JavaScript #Карты #открытые слои

Вопрос:

Я пытаюсь добавить полноэкранный элемент управления (у меня тоже был переключатель). когда я создаю этот элемент управления в создании карты new ol.MAP... (следующая документация), я не получаю ошибок, но они(layersSwitcher и полноэкранный режим) не отображаются.

 map = new ol.Map({  controls:[new ol.control.LayerSwitcher({  tipLabel: 'Leyenda',    }),  new ol.control.defaults().extend([new ol.control.FullScreen()])],  layers: [  new ol.layer.Group({  'title': 'Mapas de base',  layers: [grisOSM, mapaOSM]  }),  

Я также попытался создать карту, затем создать и добавить элементы управления, подобные этому:

 map = new ol.Map({  layers: [  new ol.layer.Group({  'title': 'Mapas de base',  layers: [grisOSM, mapaOSM]  }),   const layerSwitcher = new ol.control.LayerSwitcher({  tipLabel: 'Leyenda',   });  map.addControl(layerSwitcher);  const fullScreen = new ol.control.defaults().extend([new ol.control.FullScreen()]);   map.addControl(fullScreen);  

Я получаю Uncaught TypeError: t.element.setMap is not a function ошибку и не вижу ни одного из них

Ответ №1:

Любой

 map = new ol.Map({  controls: ol.control.defaults().extend([new ol.control.FullScreen()]),  layers: [  new ol.layer.Group({  'title': 'Mapas de base',  layers: [grisOSM, mapaOSM]  }),  ],  });  

или

 map = new ol.Map({  layers: [  new ol.layer.Group({  'title': 'Mapas de base',  layers: [grisOSM, mapaOSM]  })  ],  });   map.addControl(new ol.control.FullScreen());  

ol.control.defaults не является конструктором, поэтому не нуждается new