【问题标题】:assign data query to each Polygon with bindpopup Leaflet in Codeigniter在 Codeigniter 中使用 bindpopup Leaflet 将数据查询分配给每个多边形
【发布时间】:2022-07-07 12:28:30
【问题描述】:

我在 Codeigniter 中编写了一些代码,以使用 $.getJSON 将查询结果分配给每个多边形,但我发现了一些问题。 这是我的 $.getJSON 代码

$.getJSON("<?php echo base_url(); ?>Request/showData", function(data) {
            var area_data = new Array(3);
            var total_data = new Array(3);
            for (var i = 0; i < data.length; i++) {
                area_data[i] = data[i].Area;
                total_data[i] = data[i].total;      
            }         
            layer.bindPopup(area_data + ':' + total_data);
        })

从这个js脚本,我得到了这样的结果

预期结果是每个多边形都显示其字母和值,就像红色一样。但现在我让每个多边形显示查询中的所有字母和值。

模型函数

public function map()
{
    $query = $this->db->query(
        "SELECT Area, sum(Value) as total from ( select Area,Value from try_1 union all select Area,Value from try_2 ) view_vall group by Area"
    );
    return $query->result_array();
}

控制器功能

public function showData()
    {
        $aa = $this->model_request->map();
        echo json_encode($aa);     
    }

提前致谢

【问题讨论】:

    标签: javascript codeigniter leaflet getjson


    【解决方案1】:

    原来我找到了答案..

    它需要在循环之后添加条件if并添加变量以将值放入bindpopup。

    $.getJSON("<?php echo base_url(); ?>Request/showData", function(data) {
            var area_data = new Array(3);
            var total_data = new Array(3);
            for (var i = 0; i < data.length; i++) {
                area_data[i] = data[i].Area;
                total_data[i] = data[i].total;      
            }         
            var popup;
            if (feature.properties.Area == 'A') {
              popup = area_data[0] + ':' + total_data[0];
            } else if (feature.properties.Area == 'B') {
              popup = area_data[1] + ':' + total_data[1];
            } else {
              popup = area_data[2] + ':' + total_data[2];
            }
    
            layer.bindPopup(popup);
        })
    

    【讨论】:

      猜你喜欢
      • 2020-10-31
      • 2017-10-16
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多