类名 MapServer

# new MapServer(options)

地图服务

参数:

名称 类型 默认值 描述
options Object

构造参数

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

示例
//初始化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'
});

继承关系

成员变量

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';

方法

# addLayer(options)

添加临时文档图层

参数:

名称 类型 描述
options Object

构造参数

addInfo Array

图层添加信息,必填

success function

请求成功时的回调

failure queryFailure

请求失败时的回调

clientId String

客户端Id

# deleteLayer(options)

删除临时文档图层

参数:

名称 类型 描述
options Object

构造参数

layerId String

图层id,必传

success function

请求成功时的回调

failure function

请求失败时的回调

clientId String

客户端Id

# exportImage(options)

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

参数:

名称 类型 默认值 描述
options

参数

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 SpatialReference null

返回图片背景是否透明

f String 'image'

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

clientId String getGUID()

客户端Id

dpi Number 96

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

mode String null

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

style String null

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

出图请求对象

Promise
示例
// 构造出图参数
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)

根据参数获取图片的url

参数:

名称 类型 默认值 描述
options

参数

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 SpatialReference null

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

f String 'image'

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

clientId String getGUID()

客户端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: 将部分参数设置为可替换的模版字符串

String 图片的url

# getLegend(options)

获取图例

参数:

名称 类型 描述
options Object

构造参数

success getLegendSuccess

请求成功时的回调

failure queryFailure

请求失败时的回调

layers String

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

size String

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

where String

属性条件,类SQL语句

bbox Extent

矩形范围过滤条件

page Number

图例结果分页页数

pageSize Number

图例结果分页大小

maxQueryFeatureCount Number

查询要素的最大条数

示例
//回调方式
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);
});

# getTile(options)

根据IGS版本获取出图地址,会根据IGS版本挑选出图参数

参数:

名称 类型 默认值 描述
options Object

出图参数

lvl String | Number '{z}'

瓦片级数

row String | Number '{y}'

瓦片行号

col String | Number '{x}'

瓦片列号

f String 'image'

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

blankTile Boolean true

当没有瓦片数据时,是否返回空白图,IGS2.0参数

出图地址,格式为: 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

String

# queryFeatures(options)

指定图层的要素查询

参数:

名称 类型 默认值 描述
options Object

构造参数

layerId String

图层id,必传

success queryFeaturesSuccess

请求成功时的回调

failure queryFailure

请求失败时的回调

method FetchMethod FetchMethod.get

请求方式,包括FetchMethod.get,FetchMethod.post

where String

要素查询where条件,类似sql语句

geometry Geometry

要素查询几何条件

distance Number 0

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

geometryPrecision Number

指定返回要素中几何坐标的小数点位数,例如2,则返回两位小数

spatialRel SpatialRelation

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

outFields String

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

objectIds String

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

orderByFields String

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

groupByFieldsForStatistics String

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

resultRecordCount Number 20

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

resultOffset Number

分页参数:跳过条数,例如resultOffset为4,则跳过前4条,从第5条开始返回resultRecordCount的数量

outStatistics Array.<OutStatistic>

字段统计参数数组

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

inSrs String

输入几何空间参照系,支持MapGIS参照系名称、EPSG格式参考系、WKT格式参考系,具体请参考IGS的API文档

outSrs String

输出几何空间参照系,支持MapGIS参照系名称、EPSG格式参考系,WKT格式参考系,具体请参考IGS的API文档

supportArc3 Boolean false

仅igs2.0支持,是否返回弧段数据,默认为false

示例
//通过where语句进行查询
//回调方式
// ES5引入方式
const { Point } = zondy.geometry
 // ES6引入方式
import { Point } from "@mapgis/webclient-common"
mapServer.queryFeatures({
  //图层id
  layerId: '1',
  //where查询条件,类似sql语句,这里查询2011年GDP大于20的城市
	 where: "GDP2011>20",
	 //以GDP2011字段进行升序排序
  orderByFields: "GDP2011 ASC",
	 //指定输出的属性字段为NAME,GDP2011
	 outFields: "NAME,GDP2011",
	 //指定返回要素中几何坐标的小数点位数为2
	 geometryPrecision: 2,
	 //成功返回结果
	 success: function(result) {
		 console.log('请求成功:',result);
	 },
	 failure: function(result) {
		 console.log('请求失败:',result);
	 }
});
//promise方式
//通过geometry语句进行查询
let point = new Point({
	coordinates: [113.8178, 30.172834]
});
mapServer.queryFeatures({
  //图层id
  layerId: 1,
  //几何条件
  geometry: point,
  //设置缓冲距离,仅当几何类型为point、line时有效
  distance: 100
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log(' n请求失败:', result);
});

# queryFeaturesInLayers(options)

多图层的要素查询

参数:

名称 类型 默认值 描述
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

f String 'json'

查询返回的数据格式。支持"html" "json" "geojson" "csv"返回格式 //回调方式 // ES5引入方式 const { Extent } = zondy.geometry const { FetchMethod } = zondy.enum // ES6引入方式 import { Extent,FetchMethod } from "@mapgis/webclient-common" mapServer.queryFeaturesInLayers({ geometry: new Extent({ xmin: 110.66, ymin: 29.61, xmax: 114.05, ymax: 32.43 }), method: FetchMethod.post, success: function (result) { console.log('请求成功:', result); }, failure: function (result) { console.log('请求击败:', result); } }); //promise方式 mapServer.queryFeaturesInLayers({ layerDefs: [{ layerId: "0", outfields: "mpLayer,mpPerimeter" },{ layerId: "1", where: "mpLayer=1", outfields: "mpLayer" }] }).then(function (result) { console.log('请求成功:', result); }).catch(function (result) { console.log(' n请求失败:', result); });

# queryLayerInfo(options)

查询指定图层信息

参数:

名称 类型 描述
options Object

构造参数

layerId String

图层id,必填

success queryLayerInfoSuccess

请求成功时的回调

failure queryFailure

请求失败时的回调

clientId String

客户端Id

mapIndex String

地图索引,igs1.0参数

returnFullStyle Boolean

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

guid String

用户会话id

示例
//查询指定图层信息
//回调方式
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)

获取图层列表信息

参数:

名称 类型 描述
options Object

构造参数

success queryLayerListSuccess

请求成功时的回调

failure queryFailure

请求失败时的回调

clientId String

临时图层ID

mapIndex String

地图索引,IGS1.0参数

guid String

用户会话id,IGS1.0参数

示例
//获取图层列表信息
//回调方式
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);
});

# 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);
});

# setSystemLib(options)

设置图层的系统库

参数:

名称 类型 描述
options Object

构造参数

layerId String

图层id,必填

systemLibId String

系统库id,必填

systemLibName String

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

success function

请求成功时的回调

failure function

请求失败时的回调

构造函数
成员变量
方法
事件