addControl은 ol.control.FullScreen에 문제를 제공합니다.
Aug 18 2020
내가 사용하려고하면, OpenLayers의 일부 사용자 정의를 실험 해요 map.addControl
와 ol.control.FullScreen
나는이 오류 메시지가 표시됩니다
잡히지 않은 TypeError : t.element.setMap은 함수가 아닙니다.
이 메시지는 PluggableMap.js
.
나는 이것을한다:
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);
내가 의견을 fullScreen
말하면지도에서 엉뚱한 문제를 볼 수 있습니다.
답변
TomazicM Aug 20 2020 at 02:36
약간의 실험을 통해 이것이 OL 버그 인 것 같습니다. 질문의 코드는 IE11, Edge (신규) 및 Chrome에서 작동하지만 Firefox에서는 작동하지 않습니다.
다행히 해결 방법이 있습니다. 전체 화면 컨트롤이 기본지도 컨트롤로 추가되면 Firefox에서도 작동합니다.
이 경우 컨트롤은 다음과 같이지도에 추가됩니다.
var map = new ol.Map({
target: 'map',
controls: ol.control.defaults().extend([new ol.control.FullScreen()])
});