Leaflet 如何读取填充多段线下的板条?
我需要知道(用鼠标单击)多段线下的坐标 无法隐藏多段线(无mymap.removeLayer(LayA/B)),多段线必须保持填充状态(如有必要,可以临时隐藏其弹出窗口) 感谢能帮助我的人 下面是一个示例:Leaflet 如何读取填充多段线下的板条?,leaflet,Leaflet,我需要知道(用鼠标单击)多段线下的坐标 无法隐藏多段线(无mymap.removeLayer(LayA/B)),多段线必须保持填充状态(如有必要,可以临时隐藏其弹出窗口) 感谢能帮助我的人 下面是一个示例: <!DOCTYPE html> <html> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integ
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script>
</head>
<body style="margin:0; border: 0; padding:0; content: 0;">
<div id="mapid" style="width: 100%; height: 666px;"></div>
<script>
"use strict";
var mymap = L.map('mapid', { zoomControl:false, doubleClickZoom:false, minZoom: 2, maxZoom: 18, keyboard: false}).setView([43, 11], 7);
var LayMap = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {zIndex:1, minZoom: 2, maxZoom: 18, zoom: 8, doubleClickZoom: false, id: 'mapbox/streets-v11', tileSize: 512, zoomOffset: -1, accessToken: '...'}).addTo(mymap);
mymap.createPane('PanA').style.zIndex = 501;
var LayA = new L.layerGroup();
var Poly1 = L.polygon([[43,11],[43.5,11],[43.5,11.5]], {pane: 'PanA' , weight: 9, color: 'Indigo', opacity: 1, fill: true, fillOpacity: 0.1, dashArray: '2,5'}).bindPopup('HI from Poly1');
LayA.addLayer(Poly1);
var Poly2 = L.polygon([[44,11],[44.5,11],[44.5,11.5]], {pane: 'PanA' , weight: 9, color: 'Red', opacity: 1, fill: true, fillOpacity: 0.1, dashArray: '2,5'}).bindPopup('HI from Poly1');
LayA.addLayer(Poly2);
mymap.addLayer(LayA);
mymap.on('click', function(e) {
console.log(e.latlng);
});
</script>
</body>
</html>
“严格使用”;
var mymap=L.map('mapid',{zoomControl:false,doubleClickZoom:false,minZoom:2,maxZoom:18,keyboard:false});
var LayMap=L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_-token={accessToken}',{zIndex:1,minZoom:2,maxZoom:18,zoom:8,doubleClickZoom:false,id:'mapbox/streets-v11',tileSize:512,zoomofset:-1,accessToken:'…')).addTo(mymap);
mymap.createPane('PanA').style.zIndex=501;
var LayA=新的L.layerGroup();
var Poly1=L.polygon([[43,11],[43.5,11],[43.5,11.5],{pane:'PanA',权重:9,颜色:'Indigo',不透明度:1,fill:true,fillOpacity:0.1,dashArray:'2,5'});
LayA.addLayer(Poly1);
var Poly2=L.polygon([[44,11],[44.5,11],[44.5,11.5],{pane:'PanA',权重:9,颜色:'Red',不透明度:1,fill:true,fillOpacity:0.1,dashArray:'2,5'});
LayA.addLayer(Poly2);
mymap.addLayer(LayA);
mymap.on('click',函数(e){
控制台日志(如latlng);
});
收听多段线上而非地图上的单击事件。嗨。非常感谢你的回答。是的,它可以在popylinea上添加侦听器:…bindPopup('HI from Poly1');TmpObj.on('click',函数(e){alert(“1”+e.latlng);})//听众!LayA.addLayer(TmpObj);问题:是否有一种方法可以在运行时(当用户单击按钮时)修改图层的“交互为假/真”选项?示例:LayA.setInteractive(false);//在传单中,此命令不存在!这是一个解释性的例子,让我明白我的意思。非常感谢。