Class: MapServer

MapServer

new MapServer(options)

service/igs/MapServer.js, line 9

地图服务

Name Type Description
options Object

构造参数

Name Type Default Description
url String null 可选

服务基地址
IGS1.0: http://{ip}:{port}/igs/rest/mrms/docs/{folder}:{serviceName}
IGS2.0: http://{ip}:{port}/igs/rest/services/{folder}/{serviceName}/MapServer

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
options Object

构造参数

Name Type Description
addInfo Array 可选

图层添加信息,必填

success function 可选

请求成功时的回调

failure queryFailure 可选

请求失败时的回调

clientId String 可选

客户端Id

deleteLayer(options)

service/igs/MapServer.js, line 394

删除临时文档图层

Name Type Description
options Object

构造参数

Name Type Description
layerId String 可选

图层id,必传

success function 可选

请求成功时的回调

failure function 可选

请求失败时的回调

clientId String 可选

客户端Id

exportImage(options){Promise}

service/igs/MapServer.js, line 760

根据参数出图,详细说明请参考IGS的API文档

Name Type Description
options

参数

Name Type Default Description
bbox Extent null 可选

出图范围

layers String null 可选

要显示的子图层,格式:show|hide|include|exclude:layerid1,layerid2

size String '256,256' 可选

图片宽高

format String 'png' 可选

图片格式,支持png/jpg/gif

dynamicLayers String null 可选

专题图出图参数

isAntialiasing Boolean null 可选

返回的图片是否抗锯齿

layerFilters String null 可选

出图过滤信息

layerStyles String null 可选

样式信息

clipping String null 可选

空间裁剪参数

transparent Boolean true 可选

返回图片背景是否透明

projectionSrs String null 可选

动态投影参数,IGS1.0和2.0动态投影出图通用参数

f String 'image' 可选

请求返回格式,html或image,IGS2.0参数

clientId String 可选

客户端Id

dpi Number 96 可选

图片的设备分辨率(每英寸点数),IGS2.0参数

mode String null 可选

取图模式,IGS1.0参数,如果是快显取图(取值为hiRender或fast_display),这时文档为只读,只有bbox,w,h参数有效

style String null 可选

图层样式设置,IGS1.0参数,已过时,不建议使用

hiRender Boolean 可选

是否开启快显,当值为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
bbox Extent null 可选

出图范围,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数

layers String null 可选

要显示的子图层,格式:show|hide|include|exclude:layerid1,layerid2,IGS1.0和2.0出图参数

size String '256,256' 可选

图片宽高,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数

format String 'png' 可选

图片格式,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数,格式都为png/jpg/gif

dynamicLayers String null 可选

专题图出图参数,IGS2.0出图参数

isAntialiasing Boolean null 可选

返回的图片是否抗锯齿,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数

layerFilters String null 可选

出图过滤信息,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数

layerStyles String null 可选

样式信息,IGS2.0参数

clipping String null 可选

空间裁剪参数,IGS2.0参数

transparent Boolean true 可选

返回图片背景是否透明,IGS2.0参数

projectionSrs String null 可选

出图动态投影参数,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数

f String 'image' 可选

请求返回格式,html或image,IGS2.0参数

clientId String 可选

客户端Id,IGS1.0和2.0以及IGS1.0的GDBP出图通用参数

dpi Number 96 可选

图片的设备分辨率(每英寸点数),IGS2.0参数

mode String null 可选

取图模式,IGS1.0参数,如果是快显取图(取值为hiRender或fast_display),这时文档为只读,只有bbox,w,h参数有效

style String null 可选

图层样式设置,IGS1.0以及以及IGS1.0的GDBP参数,已过时,不建议使用

gdbps String null 可选

需要出图的地址,多个用英文逗号分隔,IGS1.0的GDBP出图参数

mapUri String null 可选

地图资源路径,比如mapx的路径,如果该参数不为空,则gdbps无效,IGS1.0的GDBP出图参数

formatMode String 'normal' 可选

生成参数格式,normal: 按照默认逻辑设置参数,replace: 将部分参数设置为可替换的模版字符串

hiRender Boolean 可选

是否开启快显,当值为true时表示开启快显,出图不会带上hiRender参数,当值为false时,表示关闭快显,出图时会带上hiRender=false参数

Returns:
String 图片的url

getLegend(options)

service/igs/MapServer.js, line 554

获取图例

Name Type Description
options Object

构造参数

Name Type Description
success getLegendSuccess 可选

请求成功时的回调

failure queryFailure 可选

请求失败时的回调

layers String 可选

图层索引列表,多个用英文逗号隔开

size String 可选

图例图片的大小,格式:width,height

where String 可选

属性条件,类SQL语句

bbox Extent 可选

矩形范围过滤条件

page Number 可选

图例结果分页页数

pageSize Number 可选

图例结果分页大小

maxQueryFeatureCount Number 可选

查询要素的最大条数

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
options Object

构造参数

Name Type Default Description
success queryLayerListSuccess 可选

请求成功时的回调

failure queryFailure 可选

请求失败时的回调

clientId String 可选

临时图层ID

guid String 可选

用户会话id,IGS1.0参数

returnTree Boolean 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
options Object

出图参数

Name Type Default Description
lvl String | Number '{z}' 可选

瓦片级数

row String | Number '{y}' 可选

瓦片行号

col String | Number '{x}' 可选

瓦片列号

f String 'image' 可选

请求返回格式,支持html和image,IGS2.0参数

blankTile Boolean 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
options QueryFeauresOptions

指定图层要素查询参数

Returns:
Type Description
Promise.<QueryFeaturesResult> 指定图层要素查询结果

queryFeaturesInLayers(options){Promise.<QueryFeaturesResult>}

service/igs/MapServer.js, line 453

多图层要素查询 [多图层查询使用示例]

Name Type Description
options QueryFeaturesInLayersOptions

多图层要素查询参数

Returns:
Type Description
Promise.<QueryFeaturesResult> 多图层要素查询结果

queryLayerInfo(options)

service/igs/MapServer.js, line 345

查询指定图层信息

Name Type Description
options Object

构造参数

Name Type Description
layerId String 可选

图层id,必填

success queryLayerInfoSuccess 可选

请求成功时的回调

failure queryFailure 可选

请求失败时的回调

clientId String 可选

客户端Id

mapIndex String 可选

地图索引,igs1.0参数

returnFullStyle Boolean 可选

是否返回全部信息的标志位

guid String 可选

用户会话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
options Object

构造参数

Name Type Description
success queryLayerListSuccess 可选

请求成功时的回调

failure queryFailure 可选

请求失败时的回调

clientId String 可选

临时图层ID

mapIndex String 可选

地图索引,IGS1.0参数

guid String 可选

用户会话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
success function 可选

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

failure function 可选

查询失败回调函数,若使用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
options Object

构造参数

Name Type Description
layerId String 可选

图层id,必填

systemLibId String 可选

系统库id,必填

systemLibName String 可选

系统库名,当systemLibId为空时有效,必填

success function 可选

请求成功时的回调

failure function 可选

请求失败时的回调