类名 SceneServer

# new SceneServer(options)

场景服务

参数:

名称 类型 描述
options Object

构造参数

url String

服务基地址

示例

IGS2.0的SceneServer

// ES5引入方式
const { SceneServer } = zondy.service
// ES6引入方式
import { SceneServer } from "@mapgis/webclient-common
const sceneServer = new SceneServer({
  // 服务基地址,folder为igs服务的文件夹名,没有可不填,serviceName为服务名
  url: 'http://{ip}:{port}/igs/rest/services/{folder}/{serviceName}/SceneServer'
});

G3DServer

// ES5引入方式
const { SceneServer } = zondy.service
// ES6引入方式
import { SceneServer } from "@mapgis/webclient-common
const sceneServer = new SceneServer({
  // 服务基地址,serviceName为服务名,端口号为6163则是.net服务,端口号为8089则是java服务
  url: 'http://{ip}:{port}/igs/rest/g3d/{serviceName}'
});

设置拦截器

// ES5引入方式
const { SceneServer } = zondy.service
// ES6引入方式
import { SceneServer } from "@mapgis/webclient-common
const sceneServer = new SceneServer({
  // 服务基地址,folder为igs服务的文件夹名,没有可不填,serviceName为服务名
  url: 'http://localhost:8089/igs/rest/services/{folder}/{serviceName}/SceneServer'
  // 请求发送前的拦截器
  requestInterceptor: {
    before: function (config) {
      return config;
    },
    failure: function (error) {
      console.log("请求发送失败(拦截器):", error)
    }
  },
  // 请求完成后的拦截器
  responseInterceptor: {
    success: function (result) {
      console.log("请求成功拦截响应")
      return result;
    },
    failure: function (result) {
      console.log("请求失败拦截响应")
      return result;
    }
  }
});

继承关系

成员变量

Boolean

# clientId

客户端id

Inherited From:
Boolean

# enableGlobeFetch

是否使用确据唯一的fetch对象,默认为true,当设为false时,会使用自己私有的fetch对象,所有的请求设置不会影响全局

Inherited From:
示例
//设置请求基地址
// ES5引入方式
const { BaseServer } = zondy.service
// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //请求基地址
  url: '你的URL',
  //使用私有的fetch对象
  enableGlobeFetch: false,
  //此时设置token等属性,不会影响全局的fetch对象
  tokenValue: '你的token'
});
//继续使用全局fetch
BaseServer.enableGlobeFetch = true;
String

# headers

请求头参数

Inherited From:
示例
//设置请求头参数
// ES5引入方式
const { BaseServer } = zondy.service
// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //请求头
  headers: {
     //设置Content-Type为multipart/form-data
    'Content-Type': 'multipart/form-data',
     //设置token
    'token': '你的token'
  }
});
//动态修改
BaseServer.headers.token = '新token';
function

# requestInterceptor

请求发送拦截器

Inherited From:
示例
//设置拦截器,任何一个继承自BaseServer的对象都可以设置,全局唯一
// ES5引入方式
const { BaseServer,RequestInterceptor } = zondy.service
// ES6引入方式
import { BaseServer,RequestInterceptor } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //设置请求发送拦截器
  requestInterceptor: new RequestInterceptor({
    //请求发送前进行统一处理
    before: function(config) {
      //执行你的业务逻辑
      //注意必须显示返回config对象,如果返回为空,则不发送请求
      return config;
    },
    //请求发送失败时进行统一处理
    failure: function(error) {
      //执行你的业务逻辑
    }
  })
});
//动态修改
BaseServer.requestInterceptor.before = function() {};
String

# requestTimeout

请求超时时间,默认45000ms,即45s

Inherited From:
示例
//设置超时时间
//初始化AddressServer服务对象
// ES5引入方式
const { BaseServer } = zondy.service
// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //超时时间
  requestTimeout: 2000
});
//动态修改
BaseServer.requestTimeout = 3000;
function

# responseInterceptor

请求响应拦截器

Inherited From:
示例
//设置拦截器,任何一个继承自BaseServer的对象都可以设置,全局唯一
// ES5引入方式
const { BaseServer,ResponseInterceptor } = zondy.service
// ES6引入方式
import { BaseServer,ResponseInterceptor } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //设置请求响应拦截器
  responseInterceptor: new ResponseInterceptor({
    //执行请求响应,接口调用成功时会执行的回调
    success: function(result) {
      //执行你的业务逻辑
      //注意必须显示返回result对象,如果返回为空,则不执行请求响应成功回调
      return result;
    },
    //请求响应成功,接口调用失败时会执行的函数
    failure: function(result) {
      //执行你的业务逻辑
      //注意必须显示返回result对象,如果返回为空,则不执行回调韩式
      return result;
    }
  })
});
//动态修改
BaseServer.responseInterceptor.success = function() {};
TokenAttachType

# tokenAttachType

指定token附加到何处

Inherited From:
示例
//设置token值
// ES5引入方式
const { BaseServer } = zondy.service
const { TokenAttachType } = zondy.enum
// ES6引入方式
import { BaseServer,TokenAttachType } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //token名
  tokenValue: '你的token值',
  //token值
  tokenValue: '你的token值',
  //指定token附加到url后面
  tokenAttachType: TokenAttachType.url
});
//动态修改
BaseServer.tokenAttachType = TokenAttachType.header;
String

# tokenKey

token名

Inherited From:
示例
//设置token名
// ES5引入方式
const { BaseServer } = zondy.service
// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //token名
  tokenKey: '你的tokenKey'
});
//动态修改
BaseServer.tokenKey = '新tokenKey';
String

# tokenValue

token值

Inherited From:
示例
//设置token值
// ES5引入方式
const { BaseServer } = zondy.service
// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //token值
  tokenValue: '你的token值'
});
//动态修改
BaseServer.tokenValue = '新token值';
String

# url

服务基地址

Inherited From:
示例
//设置请求基地址
// ES5引入方式
const { BaseServer } = zondy.service
// ES6引入方式
import { BaseServer } from "@mapgis/webclient-common"
let BaseServer = new BaseServer({
  //请求基地址
  url: '你的URL'
});
//动态修改
BaseServer.url = '新URL';

方法

# getCoverings(options)

获取指定覆盖物图层的数据,IGS2.0服务

参数:

名称 类型 默认值 描述
options

查询参数

layerId String

图层id,必填

success function

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

bbox Extent

出图范围

size String '512,512'

图片大小,格式:width,height,默认512,512

transparent Boolean true

返回的图片是否透明,支持true/false, 默认true

format ReturnFormat ReturnFormat.png

返回图片格式,支持png/jpg/gif,默认png

isAntialiasing Boolean false

返回的图片是否抗锯齿,支持true/false, 默认false

示例
//回调方式
// ES5引入方式
const { Extent } = zondy.geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
sceneServer.getCoverings({
  layerId: '0',
  bbox: new Extent({
    "xmin":-180,
    "ymin":-90,
    "xmax":180,
    "ymax":90,
  }),
  size: "512,512",
  format: "png",
  transparent: true,
  isAntialiasing: true,
  success: function (result) {
    console.log('请求成功:', result);
  }
});
//promise方式
sceneServer.getCoverings({
  layerId: '0'
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

# getSharedResources(options)

获取指定图层的M3d共享资源,IGS2.0服务

参数:

名称 类型 描述
options

查询参数

layerId String

图层id,必填

success function

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

示例
// 回调方式
sceneServer.getSharedResources({
  layerId: '0',
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});
// promise方式
sceneServer.getSharedResources({
  layerId: '0'
}).then(function (result) {
    console.log('请求成功:', result);
  }).catch(function (result) {
    console.log('请求失败:', result);
  });

# queryDocInfo(options)

查询G3D服务的文档图层信息

参数:

名称 类型 描述
options
success function

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

Promise对象

Promise.<Object>
示例

查询G3D服务的文档图层信息

sceneServer.queryDocInfo()
  .then((result) => {
    console.log('查询成功:', result)
  })
  .catch((result) => {
    console.log('查询失败:', result)
  })

# queryDocListInfo(options)

获取所有发布的G3D文档列表

参数:

名称 类型 描述
options
ip String

服务器的ip地址,必填

port String

服务器的端口号,必填

success function

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

Promise对象

Promise.<Object>
示例

获取所有发布的G3D文档列表

sceneServer.queryDocListInfo({
  // 服务器的ip地址
  ip: 'localhost',
  // 服务器的端口号
  port: '6163'
})
.then((result) => {
  console.log('查询成功:', result)
})
.catch((result) => {
  console.log('查询失败:', result)
})

# queryFeatures(options)

指定图层的要素查询,IGS2.0服务

参数:

名称 类型 默认值 描述
options

要素查询参数

layerId String

图层id,必填

method FetchMethod FetchMethod.get

请求类型,FetchMethod.get或FetchMethod.post

success queryFeaturesSuccess

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

geometry Geometry

要素查询几何条件

where String

要素查询where条件

outFields String

输出属性字段,可为*表示所有,多个用英文逗号分隔

objectIds String

过滤id,多个用英文逗号分隔(参数优先级很高,可能导致其它筛选条件失效)

distance Number 0

几何缓冲的距离,geometry为point、line时有效(若数据源为大数据PG数据,且geometryType为line或者point时为必填数据)

geometryPrecision Number

返回要素几何信息中坐标xy的精度

spatialRel SpatialRelation

几何条件的空间判定规则,Intersects(相交)、EnvelopeIntersects(外包矩形相交)、Contains(包含)、Disjoint(相离)

orderByFields String

排序字段,格式: fieldName [ASC|DESC]

groupByFieldsForStatistics String

分组统计的字段信息,格式为field1,field2

resultRecordCount Number 20

分页参数:结果返回条数,默认20

resultOffset Number

分页参数:跳过条数

outStatistics Array

计算一个或多个基于字段的统计信息结构,统计类型包括:FUNCTION_MAX/FUNCTION_MIN/FUNCTION_SUM/FUNCTION_AVG/FUNCTION_COUNT/FUNCTION_MAX_OID,示例:"[{"statisticType": "FUNCTION_SUM","onStatisticField": "field1","outStatisticFieldName":"fieldName1"}]"

returnGeometry Boolean true

是否返回几何,默认为true

returnAttribute Boolean true

是否返回属性,默认为true

returnStyle Boolean false

是否返回图形参数信息,默认为false

returnIdsOnly Boolean false

是否只返回id,默认为false

returnCountOnly Boolean false

是否只返回条数,默认为false

returnExtentOnly Boolean false

是否只返回范围,默认为false

returnZ Boolean false

是否返回Z轴,默认为false

示例
// 回调方式
// ES5引入方式
const { Point } = zondy.geometry
// ES6引入方式
import { Point } from "@mapgis/webclient-common"
sceneServer.queryFeatures({
  layerId: "0-0",
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});
// promise方式
sceneServer.queryFeatures({
  layerId: "0-0",
  geometry: new Point({
    coordinates: [108.9590, 34.2193]
  }),
  distance: 0.004
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

# queryFeaturesInLayers(options)

多图层的要素查询,IGS2.0服务

参数:

名称 类型 默认值 描述
options

要素查询参数

success queryFeaturesInLayersSuccess

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

layerDefs Array

多图层的属性条件,包括layerId、where、outFields;当值为空时,查询所有图层,并当为拉框查询时,自动过滤不需要不需要查询的图层,示例:"[{ "layerId":"0-0","where": "name='中国'", "outfields": "field1,field2"}]"

geometry Geometry

要素查询几何条件

distance Number 0

几何缓冲的距离,geometry为point、line时有效(若数据源为大数据PG数据,且geometryType为line或者point时为必填数据)

geometryPrecision Number

返回要素几何信息中坐标xy的精度

spatialRel SpatialRelation

几何条件的空间判定规则,Intersects(相交)、EnvelopeIntersects(外包矩形相交)、Contains(包含)、Disjoint(相离)

resultRecordCount Number 20

分页参数:结果返回条数,默认20

returnGeometry Boolean true

是否返回几何,默认为true

returnAttribute Boolean true

是否返回属性,默认为true

returnStyle Boolean false

是否返回图形参数信息,默认为false

returnIdsOnly Boolean false

是否只返回id,默认为false

returnCountOnly Boolean false

是否只返回条数,默认为false

returnZ Boolean false

是否返回Z轴,默认为false

示例
// 回调函数
// ES5引入方式
const { Point } = zondy.geometry
// ES6引入方式
import { Point } from "@mapgis/webclient-common"
sceneServer.queryFeaturesInLayers({
  layerDefs: [{
    layerId: "0-0",
    where: "mpName='餐厅'"
  }],
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});
// promise方式
sceneServer.queryFeaturesInLayers({
  geometry: new Point({
    coordinates: [108.9590, 34.2193]
  }),
  distance: 0.0004
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

# queryLayerInfo(options)

获取图层信息,IGS2.0服务

参数:

名称 类型 描述
options

查询参数

layerId String

图层id,必填

success queryLayerInfoSuccess

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

示例
//回调方式
const server = sceneServer.queryLayerInfo({
  layerId: "0",
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});
//promise方式
const server = sceneServer.queryLayerInfo({
  layerId: "0"
});
server.then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
})

# queryLayerListInfo(options)

获取图层列表信息,IGS2.0服务

参数:

名称 类型 描述
options

查询参数

success queryLayerListInfoSuccess

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

示例

获取图层列表信息-回调方式

sceneServer.queryLayerListInfo({
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});

获取图层列表信息-promise方式

const server = sceneServer.queryLayerListInfo();
server.then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
})

# queryM3DInfo(options)

获取指定图层的M3d数据信息,IGS2.0服务

参数:

名称 类型 描述
options

查询参数

layerId String

图层id,必填

success queryM3DInfoSuccess

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

示例
// 回调方式
sceneServer.queryM3DInfo({
  layerId: '0',
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});
// promise方式
sceneServer.queryM3DInfo({
  layerId: '0'
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

# queryNodeInfo(options)

获取指定M3d图层的节点信息,IGS2.0服务

参数:

名称 类型 默认值 描述
options

查询参数

layerId String

图层id,必填

nodeId String

节点id,必填

success queryNodeInfoSuccess

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

include String

返回节点信息包括的类型,默认为空,等于descendants时返回节点信息包括节点的子孙后代

maxDepth Number 1

节点最大深度

maxCount Number 1000

节点最大个数

示例
// 回调方式
sceneServer.queryNodeInfo({
  layerId: '0',
  nodeId: '1',
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});
// promise方式
sceneServer.queryNodeInfo({
  layerId: '0',
  nodeId: '1'
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

# queryRootNodeInfo(options)

获取指定M3d图层的根节点信息,IGS2.0服务

参数:

名称 类型 默认值 描述
options

查询参数

layerId String

图层id,必填

success queryRootNodeInfoSuccess

查询成功回调函数,若使用Promise方式则不必填写

failure queryFailure

查询失败回调函数,若使用Promise方式则不必填写

include String

返回节点信息包括的类型,默认为空,等于descendants时返回节点信息包括节点的子孙后代

maxDepth Number 1

节点最大深度

maxCount Number 1000

节点最大个数

示例
// 回调方式
sceneServer.queryRootNodeInfo({
   layerId: '0',
   success: function (result) {
     console.log('请求成功:', result);
   },
   failure: function (result) {
     console.log('请求失败:', result);
   }
 });
 //promise方式
 sceneServer.queryRootNodeInfo({
   layerId: '0'
 }).then(function (result) {
   console.log('请求成功:', result);
 }).catch(function (result) {
   console.log('请求失败:', result);
 });

# queryServerInfo(options)

获取服务信息,IGS2.0新增服务

参数:

名称 类型 默认值 描述
options

查询参数

success function

查询成功回调函数,若使用Promise方式则不必填写

failure function

查询失败回调函数,若使用Promise方式则不必填写

Inherited From:
示例

获取服务信息-回调方式

server.queryServerInfo({
  success: function (result) {
    console.log('请求成功:', result);
  },
  failure: function (result) {
    console.log('请求失败:', result);
  }
});

获取服务信息-promise方式

server.queryServerInfo({
})
.then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});
构造函数
成员变量
方法
事件