#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