new MapServer(options)
地图服务
| Name | Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
构造参数
|
Example
//初始化MapServer服务对象
// ES5引入方式
const { MapServer } = zondy.service
// ES6引入方式
import { MapServer } from "@mapgis/webclient-common"
const mapServer = new MapServer({
//从igs详情里面获取的服务地址
url: 'http://localhost:8089/igs/rest/services/动态裁图/MapServer'
});
Extends
Members
-
clientIdBoolean
-
客户端id
-
enableGlobeFetchBoolean
-
是否使用确据唯一的fetch对象,默认为true,当设为false时,会使用自己私有的fetch对象,所有的请求设置不会影响全局
Example
//设置请求基地址 // 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; -
headersString
-
请求头参数
Example
//设置请求头参数 // 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'; -
requestInterceptorfunction
-
请求发送拦截器
Example
//设置拦截器,任何一个继承自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() {}; -
requestTimeoutString
-
请求超时时间,默认45000ms,即45s
Example
//设置超时时间 //初始化AddressServer服务对象 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //超时时间 requestTimeout: 2000 }); //动态修改 BaseServer.requestTimeout = 3000; -
responseInterceptorfunction
-
请求响应拦截器
Example
//设置拦截器,任何一个继承自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() {}; -
tokenAttachTypeTokenAttachType
-
指定token附加到何处
Example
//设置token值 // ES5引入方式 const { BaseServer } = zondy.service const { TokenAttachType } = zondy.enum // ES6引入方式 import { BaseServer,TokenAttachType } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //token名 tokenKey: '你的token key', //token值 tokenValue: '你的token值', //指定token附加到url后面 tokenAttachType: TokenAttachType.url }); //动态修改 BaseServer.tokenAttachType = TokenAttachType.header; -
tokenKeyString
-
token名
Example
//设置token名 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //token名 tokenKey: '你的tokenKey' }); //动态修改 BaseServer.tokenKey = '新tokenKey'; -
tokenValueString
-
token值
Example
//设置token值 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //token值 tokenValue: '你的token值' }); //动态修改 BaseServer.tokenValue = '新token值'; -
urlString
-
服务基地址
Example
//设置请求基地址 // ES5引入方式 const { BaseServer } = zondy.service // ES6引入方式 import { BaseServer } from "@mapgis/webclient-common" let BaseServer = new BaseServer({ //请求基地址 url: '你的URL' }); //动态修改 BaseServer.url = '新URL';
Methods
-
addLayer(options)
service/igs/MapServer.js, line 224 -
添加临时文档图层
Name Type Description optionsObject 构造参数
Name Type Description addInfoArray 可选 图层添加信息,必填
successfunction 可选 请求成功时的回调
failurequeryFailure 可选 请求失败时的回调
clientIdString 可选 客户端Id
-
deleteLayer(options)
service/igs/MapServer.js, line 394 -
删除临时文档图层
Name Type Description optionsObject 构造参数
Name Type Description layerIdString 可选 图层id,必传
successfunction 可选 请求成功时的回调
failurefunction 可选 请求失败时的回调
clientIdString 可选 客户端Id
-
exportImage(options){Promise}
service/igs/MapServer.js, line 760 -
根据参数出图,详细说明请参考IGS的API文档
Name Type Description options参数
Name Type Default Description bboxExtent null 可选 出图范围
layersString null 可选 要显示的子图层,格式:show|hide|include|exclude:layerid1,layerid2
sizeString '256,256' 可选 图片宽高
formatString 'png' 可选 图片格式,支持png/jpg/gif
dynamicLayersString null 可选 专题图出图参数
isAntialiasingBoolean null 可选 返回的图片是否抗锯齿
layerFiltersString null 可选 出图过滤信息
layerStylesString null 可选 样式信息
clippingString null 可选 空间裁剪参数
transparentBoolean true 可选 返回图片背景是否透明
projectionSrsString null 可选 动态投影参数,IGS1.0和2.0动态投影出图通用参数
fString 'image' 可选 请求返回格式,html或image,IGS2.0参数
clientIdString 可选 客户端Id
dpiNumber 96 可选 图片的设备分辨率(每英寸点数),IGS2.0参数
modeString null 可选 取图模式,IGS1.0参数,如果是快显取图(取值为hiRender或fast_display),这时文档为只读,只有bbox,w,h参数有效
styleString null 可选 图层样式设置,IGS1.0参数,已过时,不建议使用
hiRenderBoolean 可选 是否开启快显,当值为true时表示开启快显,出图不会带上hiRender参数,当值为false时,表示关闭快显,出图时会带上hiRender=false参数
Returns:
Type Description Promise 出图请求对象 Example
// 构造出图参数 const exportOptions = {} server.exportImage(exportOptions).then((result) => { // 构造文件读取对象 const fileReader = new FileReader() // 读取数据 if (result instanceof Blob) { fileReader.readAsDataURL(result) } fileReader.onerror = () => {} // 数据读取完毕,e.target.result就是base64字符串 fileReader.onload = (e) => {} }) -
getImage(options)
service/igs/MapServer.js, line 623 -
根据参数获取图片的url
Name Type Description options参数
Name Type Default Description bboxExtent null 可选 出图范围,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数
layersString null 可选 要显示的子图层,格式:show|hide|include|exclude:layerid1,layerid2,IGS1.0和2.0出图参数
sizeString '256,256' 可选 图片宽高,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数
formatString 'png' 可选 图片格式,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数,格式都为png/jpg/gif
dynamicLayersString null 可选 专题图出图参数,IGS2.0出图参数
isAntialiasingBoolean null 可选 返回的图片是否抗锯齿,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数
layerFiltersString null 可选 出图过滤信息,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数
layerStylesString null 可选 样式信息,IGS2.0参数
clippingString null 可选 空间裁剪参数,IGS2.0参数
transparentBoolean true 可选 返回图片背景是否透明,IGS2.0参数
projectionSrsString null 可选 出图动态投影参数,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数
fString 'image' 可选 请求返回格式,html或image,IGS2.0参数
clientIdString 可选 客户端Id,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数
dpiNumber 96 可选 图片的设备分辨率(每英寸点数),IGS2.0参数
modeString null 可选 取图模式,IGS1.0参数,如果是快显取图(取值为hiRender或fast_display),这时文档为只读,只有bbox,w,h参数有效
styleString null 可选 图层样式设置,IGS1.0以及以及IGS1.0的GDBP参数,已过时,不建议使用
gdbpsString null 可选 需要出图的地址,多个用英文逗号分隔,IGS1.0的GDBP出图参数
mapUriString null 可选 地图资源路径,比如mapx的路径,如果该参数不为空,则gdbps无效,IGS1.0的GDBP出图参数
formatModeString 'normal' 可选 生成参数格式,normal: 按照默认逻辑设置参数,replace: 将部分参数设置为可替换的模版字符串
hiRenderBoolean 可选 是否开启快显,当值为true时表示开启快显,出图不会带上hiRender参数,当值为false时,表示关闭快显,出图时会带上hiRender=false参数
Returns:
String 图片的url -
getLegend(options)
service/igs/MapServer.js, line 554 -
获取图例
Name Type Description optionsObject 构造参数
Name Type Description successgetLegendSuccess 可选 请求成功时的回调
failurequeryFailure 可选 请求失败时的回调
layersString 可选 图层索引列表,多个用英文逗号隔开
sizeString 可选 图例图片的大小,格式:width,height
whereString 可选 属性条件,类SQL语句
bboxExtent 可选 矩形范围过滤条件
pageNumber 可选 图例结果分页页数
pageSizeNumber 可选 图例结果分页大小
maxQueryFeatureCountNumber 可选 查询要素的最大条数
Example
//回调方式 mapServer.getLegend({ layers: "0", size: '45,45', success: function (result) { console.log('请求成功:', result); }, failure: function (result) { console.log('请求失败:', result); } }); //promise方式 mapServer.getLegend({ layers: "1" }).then(function (result) { console.log('请求成功:', result); }).catch(function (result) { console.log('请求失败:', result); }); -
getMapDocTree(options)
service/igs/MapServer.js, line 68 -
获取地图文档树形结构信息,仅支持IGS1.0
Name Type Description optionsObject 构造参数
Name Type Default Description successqueryLayerListSuccess 可选 请求成功时的回调
failurequeryFailure 可选 请求失败时的回调
clientIdString 可选 临时图层ID
guidString 可选 用户会话id,IGS1.0参数
returnTreeBoolean true 可选 是否返回树型结构信息
Example
//获取图层列表信息 //回调方式 mapServer.getMapDocTree({ success: function(result) { console.log('请求成功:',result); }, failure: function(result) { console.log('请求失败:',result); } }); //promise方式 mapServer.getMapDocTree({ }).then(function (result) { console.log('请求成功:', result); }).catch(function (result) { console.log(' n请求失败:', result); }); -
getTile(options){String}
service/igs/MapServer.js, line 904 -
根据IGS版本获取出图地址,会根据IGS版本挑选出图参数
Name Type Description optionsObject 出图参数
Name Type Default Description lvlString | Number '{z}' 可选 瓦片级数
rowString | Number '{y}' 可选 瓦片行号
colString | Number '{x}' 可选 瓦片列号
fString 'image' 可选 请求返回格式,支持html和image,IGS2.0参数
blankTileBoolean true 可选 当没有瓦片数据时,是否返回空白图,IGS2.0参数
Returns:
Type Description String 出图地址,格式为: IGS1.0: http://{ip}:{port}/igs/rest/mrms/tile/{服务名称}/{z}/{y}/{x} IGS2.0: http://{ip}:{port}/igs/rest/services/{服务名称}/MapServer/tileImage/{z}/{y}/{x}?f=image&blankTile=true -
queryFeatures(options){Promise.<QueryFeaturesResult>}
service/igs/MapServer.js, line 443 -
指定图层的要素查询 [指定图层查询使用示例]
Name Type Description optionsQueryFeauresOptions 指定图层要素查询参数
Returns:
Type Description Promise.<QueryFeaturesResult> 指定图层要素查询结果 -
queryFeaturesInLayers(options){Promise.<QueryFeaturesResult>}
service/igs/MapServer.js, line 453 -
多图层要素查询 [多图层查询使用示例]
Name Type Description optionsQueryFeaturesInLayersOptions 多图层要素查询参数
Returns:
Type Description Promise.<QueryFeaturesResult> 多图层要素查询结果 -
queryLayerInfo(options)
service/igs/MapServer.js, line 345 -
查询指定图层信息
Name Type Description optionsObject 构造参数
Name Type Description layerIdString 可选 图层id,必填
successqueryLayerInfoSuccess 可选 请求成功时的回调
failurequeryFailure 可选 请求失败时的回调
clientIdString 可选 客户端Id
mapIndexString 可选 地图索引,igs1.0参数
returnFullStyleBoolean 可选 是否返回全部信息的标志位
guidString 可选 用户会话id
Example
//查询指定图层信息 //回调方式 mapServer.queryLayerInfo({ //图层id layerId: 0, //成功回调 success: function(result) { console.log('请求成功:',result); }, failure: function (result) { console.log('请求失败:', result); } }); //promise方式 mapServer.queryLayerInfo({ //图层id layerId: '0' }).then(function (result) { console.log('请求成功:', result); }).catch(function (result) { console.log(' n请求失败:', result); }); -
queryLayerList(options)
service/igs/MapServer.js, line 163 -
获取图层列表信息
Name Type Description optionsObject 构造参数
Name Type Description successqueryLayerListSuccess 可选 请求成功时的回调
failurequeryFailure 可选 请求失败时的回调
clientIdString 可选 临时图层ID
mapIndexString 可选 地图索引,IGS1.0参数
guidString 可选 用户会话id,IGS1.0参数
Example
//获取图层列表信息 //回调方式 mapServer.queryLayerList({ success: function(result) { console.log('请求成功:',result); }, failure: function(result) { console.log('请求失败:',result); } }); //promise方式 mapServer.queryLayerList({ }).then(function (result) { console.log('请求成功:', result); }).catch(function (result) { console.log(' n请求失败:', result); }); -
inherited queryServerInfo(options)
service/BaseServer.js, line 151 -
获取服务信息,IGS2.0新增服务
Name Type Description options查询参数
Name Type Default Description successfunction 无 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 无 可选 查询失败回调函数,若使用Promise方式则不必填写
Examples
获取服务信息-回调方式
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); }); -
setSystemLib(options)
service/igs/MapServer.js, line 466 -
设置图层的系统库
Name Type Description optionsObject 构造参数
Name Type Description layerIdString 可选 图层id,必填
systemLibIdString 可选 系统库id,必填
systemLibNameString 可选 系统库名,当systemLibId为空时有效,必填
successfunction 可选 请求成功时的回调
failurefunction 可选 请求失败时的回调