Openlayers:更改全屏真按钮的图标
Openlayers: Change the icon of the full-screen-true button
我使用 Font Awesome 和 jquery:
将 openlayers (v6.3.1) 控件图标更改为自定义图标
$('button.ol-full-screen-true').html('<i class="fas fa-compress"></i>');
$('button.ol-full-screen-false').html('<i class="fas fa-expand"></i>');
这与 full-screen-false
按钮的预期一样。但是如果我切换全屏,full-screen-true
按钮不会改变。相反,它使用 full-screen-false
Font Awesome 图标。如果我删除 full-screen-false
图标的代码,则会显示默认图标。我还尝试更改两个按钮的工具提示。它也只对 full-screen-false
控件有效。
我被困在这里,想不出(或找不到)任何其他解决方案。
我找到了一个不同的、更复杂的解决方案。
var fullscreenFalse = document.createElement('i');
fullscreenFalse.setAttribute('class', 'fa fa-expand');
var fullscreenTrue = document.createElement('i');
fullscreenTrue.setAttribute('class', 'fa fa-compress');
var fullscreen = new ol.control.FullScreen({
source: document.getElementById('map').parentNode,
label: fullscreenFalse,
labelActive: fullscreenTrue
});
您可以使用以下代码更改工具提示:
fullscreen.on('enterfullscreen', function(evt){
$('button.ol-full-screen-true').attr('title', 'Leave fullscreen');
});
fullscreen.on('leavefullscreen', function(evt){
$('button.ol-full-screen-false').attr('title', 'Enter fullscreen');
});
我使用 Font Awesome 和 jquery:
将 openlayers (v6.3.1) 控件图标更改为自定义图标$('button.ol-full-screen-true').html('<i class="fas fa-compress"></i>');
$('button.ol-full-screen-false').html('<i class="fas fa-expand"></i>');
这与 full-screen-false
按钮的预期一样。但是如果我切换全屏,full-screen-true
按钮不会改变。相反,它使用 full-screen-false
Font Awesome 图标。如果我删除 full-screen-false
图标的代码,则会显示默认图标。我还尝试更改两个按钮的工具提示。它也只对 full-screen-false
控件有效。
我被困在这里,想不出(或找不到)任何其他解决方案。
我找到了一个不同的、更复杂的解决方案。
var fullscreenFalse = document.createElement('i');
fullscreenFalse.setAttribute('class', 'fa fa-expand');
var fullscreenTrue = document.createElement('i');
fullscreenTrue.setAttribute('class', 'fa fa-compress');
var fullscreen = new ol.control.FullScreen({
source: document.getElementById('map').parentNode,
label: fullscreenFalse,
labelActive: fullscreenTrue
});
您可以使用以下代码更改工具提示:
fullscreen.on('enterfullscreen', function(evt){
$('button.ol-full-screen-true').attr('title', 'Leave fullscreen');
});
fullscreen.on('leavefullscreen', function(evt){
$('button.ol-full-screen-false').attr('title', 'Enter fullscreen');
});