我找到了在leaftlet地图上添加一个按钮到topleft角的代码。但现在我想一个接一个地添加多个按钮。
是否可以在以下代码中插入多个按钮?
我也试过使用复选框/单选按钮。但我不知道如何在复选框和按钮上添加标签。
感谢。
我的代码:
var customControl = L.Control.extend({ options: {position: 'topleft'},onAdd: function (map) {
var container = L.DomUtil.create('div', 'leaflet-bar leaflet-control leaflet-control-custom');
onAdd: function (map) {
var container = L.DomUtil.create('input','my-button btn');
container.type="button";
container.title="x";
container.value = "x";
container.label = "x";
container.style.backgroundColor = 'white';
container.style.backgroundSize = "30px 30px";
container.style.width = '40px';
container.style.height = '40px';
container.style.borderRadius = "25px";
container.style.padding = "0";
container.style.margin = "10px";
container.onclick = function(){
console.log('buttonClicked');
}
return container;}});
答案 0 :(得分:1)
您可以创建尽可能多的Leaflet"控件"如你所愿。您可以将它们插入任何角落,它们只会简单地叠加在一起。 (如果我没记错的话,有10px的边距)在给定角落的垂直列中。
至于每个控件的内容,它纯粹是HTML和CSS。在您的代码中,您使用的是Leaflet的实用程序L.DomUtil.create()
,但您也可以简单地使用本机document.createElement()
(但必须在单独的行中添加类)或甚至jQuery DOM实用程序(您可以使用它直接编写HTML字符串)。
然后您可以构建复杂的内容(包含输入,关联标签等)。只需查看构建DOM节点的HTML教程/ JavaScript。