【问题标题】:How to add FULLSCREEN control properly?如何正确添加FULLSCREEN控件?
【发布时间】:2021-11-26 22:16:45
【问题描述】:

我正在尝试添加一个全屏控件(我也有一个切换器)。当我在地图创建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 错误,但一个都看不到

【问题讨论】:

    标签: javascript maps openlayers


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多