gpt4 book ai didi

javascript - 无法让传单图例正确显示

转载 作者:太空宇宙 更新时间:2023-11-04 15:26:56 25 4
gpt4 key购买 nike

我正在尝试显示我认为是微不足道的东西 - 在传单 map 上显示图例。但我现在花了大约 6 个小时试图让它工作,但没有成功。我想要做的就是显示一个大部分不透明的框,其中有一个小正方形,然后每个正方形旁边有一个文本标签,给出其颜色的含义。

但无论我尝试什么,我只能显示文本,而无法以任何颜色显示任何类型的形状,也无法像所有那样让图例显示在漂亮的灰色框中网络示例显示。这是 JavaScript 代码:

    function  getColor(s) {
if ( s === 'Last update <2 hours ago')
return 'yellow';
else if ( s === 'Last update >24 hours ago' )
return 'blue';
else
return 'black';
}
var legend = L.control({position: 'topright'});


legend.onAdd = function (map) {
var legendDiv = L.DomUtil.create('div', 'info legend'),
checkins = ['Last update > 30 days ago', 'Last update >24 hours ago', 'Last update <2 hours ago'],
title= ['<strong>Marker Color Codes</strong>'],
labels = [];
for ( var i=0; i < checkins.length; i++) {
labels.push(
'<i class="square" style="background:' + getColor(checkins[i]) + '"></i>'+ checkins[i] + '')
}
legendDiv.innerHTML = labels.join('<br>');


return legendDiv;
}

legend.addTo(map);

这是CSS:

    .legend { 
border: 5px solid black;
font-weight: bold;
color: blue;
text-align: left;
width: 250px;
height: 240px;
line-height: 18px;
background: white;
opacity: 1;
}
.legend i {
width: 50px;
height: 50px;
float: left;
margin-right: 8px;
opacity: 0.7;
}
.legend square {
border-radius: 50%;
width: 50px;
height: 50px;
margin-top: 8px;
}

我一直在尝试各种边框和图例尺寸,因此不要过多关注宽度和高度参数。我无法获得任何尺寸来产生影响。以下是显示内容的屏幕截图:

enter image description here

我想看到的正是所有示例所显示的内容 - 一个带有灰色背景的方框(颜色不是物质),带有一个小颜色方 block ,后跟一个描述该颜色重要性的文本字符串。

我在这里做错了什么?

感谢您的帮助。

最佳答案

我知道这个问题很老了,但我也遇到了同样的问题。 L.DomUtil.create('div', 'info legend') 的 css 中的背景颜色可以这样更改:

<style>
.info.legend {
background-color: white;
}
<\style>

关于javascript - 无法让传单图例正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518547/

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