gpt4 book ai didi

javascript - leaflet Js 自定义控制按钮添加(文本、悬停)

转载 作者:可可西里 更新时间:2023-11-01 02:37:41 26 4
gpt4 key购买 nike

我关注了this control-button-leaflet tutorial它对我有用。现在我想:

  1. 当我将鼠标悬停在按钮上时显示一些文本(就像使用缩放按钮一样)
  2. 将鼠标悬停在按钮上时更改按钮的颜色
  3. 能够在按钮而不是图像中写入文本。

代码如下:

    var customControl =  L.Control.extend({        
options: {
position: 'topleft'
},

onAdd: function (map) {
var container = L.DomUtil.create('div', 'leaflet-bar leaflet-control leaflet-control-custom');

container.style.backgroundColor = 'white';
container.style.backgroundImage = "url(http://t1.gstatic.com/images?q=tbn:ANd9GcR6FCUMW5bPn8C4PbKak2BJQQsmC-K9-mbYBeFZm1ZM2w2GRy40Ew)";
container.style.backgroundSize = "30px 30px";
container.style.width = '30px';
container.style.height = '30px';

container.onclick = function(){
console.log('buttonClicked');
}

return container;
}
});

var map;

var readyState = function(e){
map = new L.Map('map').setView([48.935, 18.14], 14);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
map.addControl(new customControl());
}

window.addEventListener('DOMContentLoaded', readyState);

最佳答案

看起来你更需要一个 Button 而不是一个 div:

    var container = L.DomUtil.create('input');
container.type="button";
  1. 然后您可以轻松设置鼠标悬停文本:

    container.title="No cat";
  2. 还有一些文本而不是图像:

    container.value = "42";
  3. 您可以使用鼠标事件来设置按钮的样式:

    container.onmouseover = function(){
    container.style.backgroundColor = 'pink';
    }
    container.onmouseout = function(){
    container.style.backgroundColor = 'white';
    }

(你当然可以用 css 做这最后一部分,可能更优雅)

完整示例:http://codepen.io/anon/pen/oXVMvy

关于javascript - leaflet Js 自定义控制按钮添加(文本、悬停),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31924890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com