Почему ol.Map lo go исчезает, когда я удаляю ol.control. - PullRequest
0 голосов
/ 27 марта 2020

Я использую книгу Габора Фаркаса «Освоение OpenLayers 3», и JavaScript частично

var infoLabel = document.createElement('span');
infoLabel.className = 'info-label';
infoLabel.textContent = 'i';

var map = new ol.Map({
    target: 'map',
...
    controls: [
        //Define the default controls
        new ol.control.Zoom(),
        new ol.control.Rotate(),
        new ol.control.Attribution({
            label: infoLabel
       ...
    ],
   ...
    logo: {
        src: '../../res/university_of_pecs.png',
        href: 'http://www.ttk.pte.hu/en'
    }
});

lo go является опцией для ol.Map и кажется независимой от ol.control.Attribution , Но если я уберу ol.control.Attribution, lo go больше не появится.

Или, возможно, вопрос в том, почему lo go перемещается в атрибуцию, которая появляется, когда вы нажимаете на infoLabel.

p27 для следующих дома.

Вот все JavaScript, так как я, вероятно, что-то упускаю

function init() {
    document.removeEventListener('DOMContentLoaded', init);

    var infoLabel = document.createElement('span');
    infoLabel.className = 'info-label';
    infoLabel.textContent = 'i';

    var vectorLayer = new ol.layer.Vector({
        source: new ol.source.Vector({
            format: new ol.format.GeoJSON({
                defaultDataProjection: 'EPSG:4326'
            }),
            url: '../../res/world_capitals.geojson',
            attributions: [
                new ol.Attribution({
                    html: 'World Capitals © Natural Earth'
                })
            ]
        })
    });
    var map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Tile({
                source: new ol.source.OSM()
            }),
            vectorLayer
        ],
        controls: [
            //Define the default controls
            new ol.control.Zoom(),
            new ol.control.Rotate(),
            new ol.control.Attribution({
                label: infoLabel
            }),
            //Define some new controls
            new ol.control.ZoomSlider(),
            new ol.control.MousePosition({
                coordinateFormat: function (coordinates) {
                    var coord_x = coordinates[0].toFixed(3);
                    var coord_y = coordinates[1].toFixed(3);
                    return coord_x + ', ' + coord_y;
                }
            }),
            new ol.control.ScaleLine({
                units: 'degrees'
            }),
            new ol.control.OverviewMap({
                collapsible: false
            })
        ],
        interactions: ol.interaction.defaults().extend([
            new ol.interaction.Select({
                layers: [vectorLayer]
            })
        ]),
        view: new ol.View({
            center: [0, 0],
            zoom: 2
        }),
        logo: {
            src: '../../res/university_of_pecs.png',
            href: 'http://www.ttk.pte.hu/en'
        }
    });
}
document.addEventListener('DOMContentLoaded', init);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...