Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取弹出打开事件的传单功能属性_Javascript_Leaflet - Fatal编程技术网

Javascript 获取弹出打开事件的传单功能属性

Javascript 获取弹出打开事件的传单功能属性,javascript,leaflet,Javascript,Leaflet,我创建了几个geoJSON层。每个图层对象都有许多特性。单击任何图层的对象时,将显示一个弹出窗口,其中包含一个按钮,该按钮应显示有关图层和对象的扩展信息。如何: 获取“lay1”或“lay2”对象 获取已单击的功能 是否获取已单击的所有功能属性 设map=L.map('map').setView([10.1497326,-67.9283981],7); 设data1={ “类型”:“FeatureCollection”, “特点”:[{ “类型”:“功能”, “几何学”:{ “类型”:“点”

我创建了几个geoJSON层。每个图层对象都有许多特性。单击任何图层的对象时,将显示一个弹出窗口,其中包含一个按钮,该按钮应显示有关图层和对象的扩展信息。如何:

  • 获取“lay1”或“lay2”对象
  • 获取已单击的功能
  • 是否获取已单击的所有功能属性

  • 
    设map=L.map('map').setView([10.1497326,-67.9283981],7);
    设data1={
    “类型”:“FeatureCollection”,
    “特点”:[{
    “类型”:“功能”,
    “几何学”:{
    “类型”:“点”,
    “坐标”:[-67.9283981,10.1497326]
    },
    “财产”:{
    “id”:10,
    “文本”:“标记1”
    }
    }]
    };
    让数据2={
    “类型”:“FeatureCollection”,
    “特点”:[{
    “类型”:“功能”,
    “几何学”:{
    “类型”:“点”,
    “坐标”:[-68.9283981,11.1497326]
    },
    “财产”:{
    “id”:20,
    “文本”:“标记2”
    }
    }]
    };
    让lay1=L.geoJson(data1{
    onEachFeature:功能(功能,图层){
    图层绑定弹出窗口(
    feature.properties.id+'
    '+ "资讯";; } }); 让lay2=L.geoJson(data2{ onEachFeature:功能(功能,图层){ 图层绑定弹出窗口( feature.properties.id+'
    '+ "资讯";; } }); lay1.addTo(地图); lay2.addTo(地图); map.on('popupopen',函数(e){ $(“#打开div”)。单击(函数(e){ $(“.传单弹出关闭按钮”)[0]。单击(); showInfo(); }); }); 函数showInfo(){ //1)如何获取“lay1”或“lay2”对象 //2)如何获取已单击的功能 //3)如何获取已单击的所有功能属性 警报(“信息”); }
    从弹出窗口获取源代码(标记),然后获取功能和属性

    map.on('popupopen',函数(e){
    变量层=e.popup.\u源;
    $(“#打开div”)。单击(函数(e){
    $(“.传单弹出关闭按钮”)[0]。单击();
    showInfo(层)//
    
    <div id="map" style="width: 600px; height: 400px;"></div>
    <script>
        let map = L.map('map').setView([10.1497326, -67.9283981], 7);
    
        let data1 = {
          "type": "FeatureCollection",
          "features": [{
            "type": "Feature",
            "geometry": {
              "type": "Point",
              "coordinates": [-67.9283981, 10.1497326]
            },
            "properties": {
              "id": 10,
              "text": "Marker1"
            }
          }]
        };
    
        let data2 = {
          "type": "FeatureCollection",
          "features": [{
            "type": "Feature",
            "geometry": {
              "type": "Point",
              "coordinates": [-68.9283981, 11.1497326]      
            },
            "properties": {
              "id": 20,
              "text": "Marker2"
            }
          }]
        };
    
        let lay1 = L.geoJson(data1, {
          onEachFeature: function(feature, layer) {
            layer.bindPopup(
                feature.properties.id + '<br />' + 
              '<button id="open-div">Info</button>');
          }
        });
    
        let lay2 = L.geoJson(data2, {
          onEachFeature: function(feature, layer) {
            layer.bindPopup(
            feature.properties.id + '<br />' +       
              '<button id="open-div">Info</button>');
          }
        });
    
        lay1.addTo(map);
        lay2.addTo(map);
    
        map.on('popupopen', function (e) {
            $('#open-div').click(function (e) {
              $(".leaflet-popup-close-button")[0].click();
              showInfo();
          });
        });
    
        function showInfo() {
          // 1) How to get 'lay1' or 'lay2' object
          // 2) How to get feature which was clicked
          // 3) How to get all feature properties which was clicked
          alert('Info');
        }
    </script>