单值专题图草稿

一、单值专题图(宗地属性)

1. 说明

专题图
本例中,该单值专题图是将房屋宗地的权限相同的归为一类,为相同一类设定同一种颜色进行渲染。专题值相同的要素采用相同的渲染风格,从而用来区分不同的类别。

2. 接口参数说明与调用过程

  1. 请求URL:
    该请求为GET请求
    链接: http://localhost:9018/ztyy/uniqueTheme
  2. 请求参数:无
  3. 调用过程:
    1.初始化map
    2.加载该区域内的宗地数据
    3.对于相同宗地权限的数据设置为一种颜色
    4.在地图右侧展示权限单值图例

3.初始化地图控件

3. 前端示例代码

  1. 首先需要获取 宗地数据 以及 宗地权限类型的图例数据。下面是获取图例数据:
    实现单值专题图的代码如下:
function getTable(dictTypeParam,colNameParam,tableNameParam){
       var resData=[];
       $.ajax({
           async : false,
           url :  "http://localhost:9018/ztyy/ztbdczs/getDictDataByType",
           type : "post",
           data:{
               dictType:dictTypeParam,//字典类型
               columnName:colNameParam,//字段名(有时字典类型名和字段名不一样)
               tableName:tableNameParam//表名
           },
           dataType : "json",
           success : function(res){
               if(res.length>0){
                   let colorArr=rgb(res.length);
                   $.each(res,function(i,v){
                       resData.push({
                           dictLabel:v.dictLabel,//字典字段值对应的文本值
                           dictValue:v.dictValue,//字段值
                           dictColor:colorArr[i]//给该字段值分配的颜色属性
                       });
                   })
               }
           },
           error : function(){
           }
       });
       return resData;
   }
  1. 配置鼠标事件,设置鼠标移动到数据上面时,显示权限类型属性:
  var popup;
    map.on('mouseenter', 'zds', function (e) {
        var coordinates = [e.lngLat.lng,e.lngLat.lat];
         popup=new mapboxgl.Popup({
            closeButton: false,
            closeOnClick: true
        })
            .setLngLat(coordinates)
            .setHTML(e.features[0].properties[colName])
            .setMaxWidth('max-width: none')
            .addTo(map);
    });
    // 鼠标在离开标注
    map.on('mouseleave', 'zds', function () {
        if(popup){
            popup.remove();}
    });
  1. 对宗地权限类型的单值属性整理成列表进行展示:
function creatLabel(tableData){
        $.each(tableData,function(i,v){
            let str='';
            str='<tr>\n' +
                ' <td class="legendItemHeader">'+v.dictLabel+'</td>\n' +
                '   <td class="legendItemValue" style="background:'+v.dictColor+'"></td>\n' +
                ' </tr>';
            $('#tuli').append(str)
        });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值