首页 / 浏览问题 / WebGIS / 问题详情
单值专题图渲染提示tempLayersSet.json 400
6EXP 2023年07月12日

使用产品: iserver 10i

操作系统: win server

数据类型: 文件型

问题详细描述: 使用mapboxgl.supermap.ThemeService(dataUrl)做服务器端渲染, 提示tempLayersSet.json 400

问题步骤重现: 

1. 使用iserver发布工作空间,选择地图和数据服务

2. 

let dataUrl = "http:xxxxx:8090/iserver/services/map-road_data/rest/maps/layerName";

let themeUnique = new mapboxgl.supermap.ThemeUnique({
  uniqueExpression: "Station_ID",
  items: themeUniqueItemes,
  defaultStyle: style1
});

let themeParameters = new mapboxgl.supermap.ThemeParameters({
    datasetNames: [""],
    dataSourceNames: [""],
    themes: [themeUnique]
  });
new mapboxgl.supermap.ThemeService(dataUrl).getThemeInfo(themeParameters, function (serviceResult) {
}

3. 提示xxxx/tempLayersSet.json 400

1个回答

您好,报错400多为参数问题,检查专题图参数是否正确,根据截图代码显示,制作专题图的数据集数组和数据源都为空。
1,865EXP 2023年07月12日
let style1 = new mapboxgl.supermap.ServerStyle({
  fillForeColor: new mapboxgl.supermap.ServerColor(248, 203, 249),
  lineColor: new mapboxgl.supermap.ServerColor(255, 255, 255),
  lineWidth: 0.3
});
let style2 = new mapboxgl.supermap.ServerStyle({
  fillForeColor: new mapboxgl.supermap.ServerColor(196, 255, 189),
  lineColor: new mapboxgl.supermap.ServerColor(255, 255, 255),
  lineWidth: 0.3
});
let style3 = new mapboxgl.supermap.ServerStyle({
  fillForeColor: new mapboxgl.supermap.ServerColor(255, 173, 173),
  lineColor: new mapboxgl.supermap.ServerColor(255, 255, 255),
  lineWidth: 0.3
});
let style4 = new mapboxgl.supermap.ServerStyle({
  fillForeColor: new mapboxgl.supermap.ServerColor(255, 239, 168),
  lineColor: new mapboxgl.supermap.ServerColor(255, 255, 255),
  lineWidth: 0.3
});
let style5 = new mapboxgl.supermap.ServerStyle({
  fillForeColor: new mapboxgl.supermap.ServerColor(173, 209, 255),
  lineColor: new mapboxgl.supermap.ServerColor(255, 255, 255),
  lineWidth: 0.3
});
let style6 = new mapboxgl.supermap.ServerStyle({
   fillForeColor: new mapboxgl.supermap.ServerColor(132, 164, 232),
   lineColor: new mapboxgl.supermap.ServerColor(255, 255, 255),
   lineWidth: 0.3
});

let themeUniqueIteme1 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53336,
        style: style1
      }),
      themeUniqueIteme2 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53343,
        style: style2
      }),
      themeUniqueIteme3 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53276,
        style: style3
      }),
      themeUniqueIteme4 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54313,
        style: style4
      }),
      themeUniqueIteme5 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 50915,
        style: style5
      }),
      themeUniqueIteme6 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53192,
        style: style6
      }),
      themeUniqueIteme7 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53231,
        style: style1
      }),
      themeUniqueIteme8 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 52495,
        style: style4
      }),
      themeUniqueIteme9 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54047,
        style: style3
      }),
      themeUniqueIteme10 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54231,
        style: style3
      }),
      themeUniqueIteme11 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54223,
        style: style5
      }),
      themeUniqueIteme12 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54208,
        style: style6
      }),
      themeUniqueIteme13 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54122,
        style: style1
      }),
      themeUniqueIteme14 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53385,
        style: style2
      }),
      themeUniqueIteme15 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53644,
        style: style3
      }),
      themeUniqueIteme16 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53602,
        style: style4
      }),
      themeUniqueIteme17 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53505,
        style: style2
      }),
      themeUniqueIteme18 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 52576,
        style: style6
      }),
      themeUniqueIteme19 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 50431,
        style: style5
      }),
      themeUniqueIteme20 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 50514,
        style: style4
      }),
      themeUniqueIteme21 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 50645,
        style: style3
      }),
      themeUniqueIteme22 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54031,
        style: style5
      }),
      themeUniqueIteme23 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53484,
        style: style6
      }),
      themeUniqueIteme24 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53533,
        style: style2
      }),
      themeUniqueIteme25 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 52575,
        style: style4
      }),
      themeUniqueIteme26 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 50618,
        style: style2
      }),
      themeUniqueIteme27 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54226,
        style: style1
      }),
      themeUniqueIteme28 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54205,
        style: style5
      }),
      themeUniqueIteme29 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 54313,
        style: style2
      }),

      themeUniqueIteme30 = new mapboxgl.supermap.ThemeUniqueItem({
        unique: 53467,
        style: style1
      });

let themeUniqueItemes = [
    themeUniqueIteme1, themeUniqueIteme2, themeUniqueIteme3, themeUniqueIteme4, themeUniqueIteme5,
    themeUniqueIteme6, themeUniqueIteme7, themeUniqueIteme8, themeUniqueIteme9, themeUniqueIteme10,
    themeUniqueIteme11, themeUniqueIteme12, themeUniqueIteme13, themeUniqueIteme14, themeUniqueIteme15,
    themeUniqueIteme16, themeUniqueIteme17, themeUniqueIteme18, themeUniqueIteme19, themeUniqueIteme20,
    themeUniqueIteme21, themeUniqueIteme22, themeUniqueIteme23, themeUniqueIteme24, themeUniqueIteme25,
    themeUniqueIteme26, themeUniqueIteme27, themeUniqueIteme28, themeUniqueIteme29, themeUniqueIteme30
  ];

let themeUnique = new mapboxgl.supermap.ThemeUnique({
  uniqueExpression: "Station_ID",
  items: themeUniqueItemes,
  defaultStyle: style1
});

let themeParameters = new mapboxgl.supermap.ThemeParameters({
  datasetNames: ["stationK5ProvinceRoad"],
  dataSourceNames: ["roadDataSource"],
  themes: [themeUnique]
});

new mapboxgl.supermap.ThemeService(dataUrl).getThemeInfo(themeParameters, function (serviceResult) {})

您好, 上面是源码, 渲染的地图为线类型的地图

1、iserver的许可是否过期。

2、报错400是调用哪一行代码出现的。
new mapboxgl.supermap.ThemeService(dataUrl).getThemeInfo(themeParameters, function (serviceResult) {})

调用上面代码出现的, 看官网示例中没有发布iserver数据服务,只是发布了地图服务, 那这个datasetNames, dataSourceNames怎么确定呢

发布工作空间可以选择地图服务,可以通过地图服务中的layers-SuperMap地图图层-子图层列表查看对应的数据集。ThemeParameters传入的数据集是需要做专题图的图层。
...