addControl memberikan masalah dengan ol.control.FullScreen
Aug 18 2020
Saya melakukan percobaan beberapa penyesuaian OpenLayers, ketika saya mencoba menggunakan map.addControl
dengan ol.control.FullScreen
saya melihat pesan kesalahan ini:
TypeError yang tidak tertangkap: t.element.setMap bukan sebuah fungsi
Pesan ini berasal dari PluggableMap.js
.
Saya melakukan ini:
var map = new ol.Map({
target: 'map',
});
var fullScreen = new ol.control.FullScreen({className: 'ol-full-screen', tipLabel: 'Toggle full-screen'});
map.addControl(fullScreen);
var scaleLine = new ol.control.ScaleLine({className: 'ol-scale-line', target: document.getElementById('scale-line')});
map.addControl(scaleLine);
var view = new ol.View({
center: ol.proj.fromLonLat([9.25040, 45.54318]),
zoom: 2
});
map.setView(view);
var osm = new ol.layer.Tile({
source: new ol.source.OSM()
});
map.addLayer(osm);
Jika saya berkomentar, fullScreen
saya dapat melihat masalah whitout di peta.
Jawaban
TomazicM Aug 20 2020 at 02:36
Dengan beberapa percobaan, tampaknya ini adalah bug OL. Kode dari pertanyaan berfungsi di IE11, Edge (baru) dan Chrome, tetapi tidak di Firefox.
Untungnya ada solusinya. Jika kontrol layar penuh ditambahkan sebagai kontrol peta default, maka itu juga berfungsi di Firefox.
Kontrol dalam hal ini ditambahkan ke peta seperti ini:
var map = new ol.Map({
target: 'map',
controls: ol.control.defaults().extend([new ol.control.FullScreen()])
});
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'