'recordsets' of undefined

0 投票

function showBaseThemeMap_ID(baseurl){
    var Param = new SuperMap.QueryBySQLParameters({
        queryParams: {//查询过滤条件参数
            name:"djzq_dt_poi1678_poup@djzq_dt_poi1678_poup",//数据集或者图层名称
                attributeFilter:"SMID<2266"//属性过滤条件
        }
    });
    L.supermap
        .queryService(baseurl)
        .queryBySQL(Param,function(serviceResult) {
            var features=serviceResult.result.recordsets[0].features.features;
            for(var i=0;i<features.length;i++)
            {
                delete features[i].type;
                delete features[i].id;
            }

        var geoJSON={'type':'FeatureCollection','features':features};

        console.log(geoJSON);

        base_ThemeLayer(geoJSON);//执行到这一步的时候报错TypeError: Cannot read property 'recordsets' of undefined,不执行这一步没报错,为什么函数运行的时候会返回去呢?
       
    });
  }
10月 12 分类:  23次浏览 | 用户: wmq_whu 才疏学浅 (16 分)

1个回答

0 投票
Cannot read property 'recordsets' of undefined。看报错像是没有recordsets子节点,把查询成功执行的回调函数console.log出来看看参数的结构再给features赋值。
10月 12 用户: 李俊霖 名扬四海 (1,014 分)

console.log(geoJSON)打印出来都没有问题了,说明features没问题了,问题在于执行

 base_ThemeLayer(geoJSON)又返回去报错了
base_ThemeLayer方法是什么,按照你提供的这段代码,在范例上测试了一下没有问题。
...