Как добавить новый элемент управления ползунка на карту с OpenLayers - PullRequest
0 голосов
/ 01 февраля 2019

Мне нужно добавить новый слайдер (например: bootstrap-slider) на карту для обработки временной шкалы

Я работаю с OpenLayers 5.3.0 и хочу найти способ добавить этоновый компонент, такой как элемент управления OpenLayers.

Пока у меня есть что-то вроде этого, элемент управления с именем B1Control, и я хотел бы добавить новый элемент управления B2Control с элементом слайдера.

import 'ol/ol.css';
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
import {defaults as defaultControls, Control} from 'ol/control.js';
import {toStringHDMS} from 'ol/coordinate.js';
import Overlay from 'ol/Overlay.js';
import {fromLonLat, toLonLat} from 'ol/proj.js';

var button = document.createElement('button');
button.innerHTML = 'B1';

var showMessage = function (e) {
   window.alert("Active");
};

button.addEventListener('click', showMessage, false);

var element = document.createElement('div');
element.className = 'button1 ol-unselectable ol-control';
element.appendChild(button);

var B1Control = new Control({
    element: element
});


var slider = new Slider('#ex1', {
    formatter: function(value) {
      return 'Current value: ' + value;
    }
});

var element = document.createElement('div');
element.className = 'slider';
element.appendChild(slider);

var B2Control = new Control({
    element: element
});


const map = new Map({
    target: 'map',
    layers: [
        new TileLayer({
            source: new OSM()
        })
    ],
    view: new View({
        center: [0, 0],
        zoom: 3
    })
});

map.addControl(B1Control);
map.addControl(B2Control);

В этом случае я получил этоошибка в строке (element.appendChild (slider)) Uncaught TypeError: Не удалось выполнить 'appendChild' для 'Node': параметр 1 не относится к типу 'Node'.

Как я могу прикрепить компонент слайдера вэто дело?

С уважением !!

...