Leaflet 如何设置此标记的不透明度

Leaflet 如何设置此标记的不透明度,leaflet,Leaflet,如何根据弹出窗口内的选定单选选项切换此标记的不透明度 L.marker([-14.604847, 30.234375],) .bindPopup('<input type="radio" id="on" name="switch" value="on"><label for="on">ON</label><input type="radio

如何根据弹出窗口内的选定单选选项切换此标记的不透明度

L.marker([-14.604847, 30.234375],)
   .bindPopup('<input type="radio" id="on" name="switch" value="on"><label for="on">ON</label><input type="radio" id="off" name="gender" value="off">
<label for="off">OFF</label><input type="radio" id="other" name="switch" value="other">')
   .addTo(map);
L.marker([-14.604847,30.234375],)
.bindon
关‘)
.addTo(地图);

例如,我单击“开”,然后标记的不透明度更改为1,当我单击“关”时,它将更改为不透明度0.3

获取标记的参考,收听
popupopen
事件,然后使用
L.doEvent
收听每个复选框更改事件。一旦设置为“开”,将标记不透明度设置为1;一旦设置为“关”,将其设置为0.3。我相信它可以用更少的代码实现,但它可以让你开始

 marker.on('popupopen', function(popup) {
    L.DomEvent.on(
      document.getElementById('off'),
      'change',
      (ev) => marker.setOpacity(0.3));
    L.DomEvent.on(
      document.getElementById('on'),
      'change',
      (ev) => marker.setOpacity(1));
 })

快速入门-单张
var map=L.map('map').setView([-14.604847,30.234375],13);
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?访问令牌=pk.eyj1ijoibwwwwym94iiwiysi6imnpejy4nxvycta2emycxbndhrqcmz3n3gifq.rjcfig214ariislb6b5aw'{
maxZoom:18,
属性:“映射数据©;贡献者”+
“图像”,
id:“地图盒/街道-v11”,
tileSize:512,
Zoomofset:-1
}).addTo(地图);
常量标记=L.marker([-14.604847,30.234375])
.bindpoop('ON
OFF') .addTo(地图) marker.on('popupopen',函数(弹出){ L.DomEvent.on( document.getElementById('off'), "变",, (ev)=>marker.setOpacity(0.3)); L.DomEvent.on( document.getElementById('on'), "变",, (ev)=>marker.setOpacity(1); })
是否可以通过其选项而不是变量来选择marker。类似这样的
L.marker([56.944974133.59375],{divId:6,})。addTo(map)
。因此,我想使用
divId:6
选择标记,因为documented上没有
divId
选项,所以我猜这是不可能的。还是选择所有标记?因为我必须在每个标记上创建popupopen函数,所以我认为你应该在一个新问题中问这个问题,因为在这个问题中,你只问了一个标记,而不是很多。