# 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;
}
}
});
继承关系
成员变量
# 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;
# 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';
# 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() {};
# 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;
# 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
指定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;
# 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';
# 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值';
# 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对象
示例
查询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对象
示例
获取所有发布的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);
});