new ArcGISMapServer(options)
ArcGIS的MapServer服务
| Name | Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
构造参数
|
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
-
exportImage(options)
service/igs/arcgis/ArcGISMapServer.js, line 356 -
根据参数出图,详细说明请参考IGS的API文档
Name Type Description optionsName Type Default Description methodFetchMethod FetchMethod.post 可选 请求方式
bboxExtent null 可选 出图范围,格式:xmin,ymin,xmax,ymax,如果设置了projectionSrs参数,确保bbox是projectionSrs参照系的范围
layersString null 可选 图层状态,格式:show|hide|include|exclude:layerid1,layerid2
sizeString '256,256' 可选 图片宽高
transparentBoolean true 可选 返回的图片是否透明,支持true/false, 默认true
formatString 'png' 可选 返回图片格式,支持png/jpg/gif,默认png
imageSRObject null 可选 投影空间参照系,支持EPSG格式参考系
bboxSRObject null 可选 bbox范围值的坐标系
fString 'image' 可选 返回格式,支持image和html
-
find(options)
service/igs/arcgis/ArcGISMapServer.js, line 37 -
针对地图或地图中一个或多个图层进行属性查询
Name Type Description options查询参数
Name Type Default Description searchTextString 可选 搜索包含该字符串的要素,在该服务下的所有文档中搜索,必填
layersString 可选 要搜索的图层id,多个图层id以逗号分割,必填
successfunction 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 可选 查询失败回调函数,若使用Promise方式则不必填写
containsBoolean true 可选 匹配字符串时,是否是包含匹配,默认为true,即包含匹配,false时进行全词匹配
searchFieldsString 可选 要搜索的字段名,多个字段名以逗号分割,不指定则全字段搜索
returnGeometryBoolean true 可选 是否返回几何数据
geometryPrecisionNumber 3 可选 返回几何数据的小数点位数
-
getImage(options){ip}
service/igs/arcgis/ArcGISMapServer.js, line 445 -
根据参数获取图片的url,会将queryParameters对象转为字符串,并拼接在问号后面
Name Type Description optionsObject 问号后的请求参数
Name Type Default Description layersString null 可选 要显示的子图层id,多个子图层以逗号分隔
bboxExtent '{bbox}' 可选 出图范围
sizeString '256,256' 可选 图片宽高
formatString 'png' 可选 图片格式
fString 'image' 可选 接口的返回数据格式,支持image和html
transparentBoolean true 可选 图片背景是否透明
imageSRObject null 可选 要动态投影到的目标坐标系
bboxSRObject null 可选 bbox范围值的坐标系
formatModeString 'normal' 可选 生成参数格式,normal: 按照默认逻辑设置参数,replace: 将部分参数设置为可替换的模版字符串
Returns:
Type Description ip String 图片的url,格式为: https://:{port}/arcgis/rest/services/{服务名称}/MapServer/export?f=image&layers={layers}&format={format}&transparent={transparent}&imageSR={imageSR}&bbox={bbox}&size={size}&key1=value21&key2=value2 -
getLayers(options)
service/igs/arcgis/ArcGISMapServer.js, line 256 -
获取所有图层资源
Name Type Description options查询参数
Name Type Description successfunction 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 可选 查询失败回调函数,若使用Promise方式则不必填写
callbackString 可选 -
getLegend(options)
service/igs/arcgis/ArcGISMapServer.js, line 287 -
获取图例
Name Type Description options查询参数
Name Type Default Description successfunction 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 可选 查询失败回调函数,若使用Promise方式则不必填写
dpiNumber 96 可选 图例图像的分辨率
sizeString '15,15' 可选 图例图像的大小
-
getTile(){String}
service/igs/arcgis/ArcGISMapServer.js, line 499 -
获取ArcGIS瓦片出图模板地址
Returns:
Type Description String ArcGIS瓦片出图模板地址,格式为: https://{ip}:{port}/arcgis/rest/services/{服务名称}/MapServer/tile/{z}/{y}/{x}?key1=value1&key2=value2... -
identify(options)
service/igs/arcgis/ArcGISMapServer.js, line 128 -
识别地图中要素信息
Name Type Description options查询参数
Name Type Default Description geometryGeometry 可选 要识别的几何对象,必传
srsSpatialReference | undefined 可选 输入、输出几何对象以及 mapExtent 的坐标参考系统, 默认会以geometry的spatialReference作为输入几何的空间参考系
layerDefsArray.<LayerDef> | Array.<Object> | undefined 可选 多图层的属性过滤条件,设置多个不会过滤图层,请使用layers参数过滤图层。当前layerDef仅支持layerId、where, 不支持outFields。ArcGIS服务对于where条件需要输入尽量不要为空,部分版本不传入where条件查询会报错
layersString 可选 指定在哪些图层上进行识别操作。可选值:top(仅最顶层)、visible(所有可见层)、all(所有图层)。也可以指定特定图层ID,如 visible:2,5(仅识别可见且ID为2和5的图层)。默认为top
toleranceNumber 2 可选 容差(单位:像素),默认为2。点击或指定点位置时,会以此容差范围为半径创建一个搜索范围,识别该范围内的要素。
mapExtentString 可选 识别范围,必传参数,格式为:xmin,ymin,xmax,ymax
imageDisplayString 可选 当前地图视图的屏幕显示参数,格式为 width,height,dpi。宽度和高度必须是整数。例如600,550,96
returnGeometryBoolean true 可选 是否返回几何数据
maxAllowableOffsetNumber | undefined 可选 允许的最大误差,默认单位为数据的原始坐标系的单位,如果是EPSG:3857则为米,如果是EPSG:4326则为度。根据数据输入的空间参考系单位 返回的几何信息不超出这个误差值
geometryPrecisionNumber | undefined 可选 返回要素几何信息中坐标xy的精度,仅支持整数,输入1表示查询出的要素坐标只保留一位小数
dynamicLayersString | undefined 可选 专题图出图参数
returnZNumber false 可选 是否返回Z轴,默认为false
returnMBoolean false 可选 是否返回测试值,默认为false
fString 'json' 可选 查询返回的数据格式。支持"json","html" 返回格式
Example
单点查询用例 arcgisMapServer .identify({ geometry: new Point({ coordinates: [113, 30], spatialReference: new SpatialReference("EPSG:4326"), }), mapExtent: "110,28,115,30", // geometry: extent, imageDisplay: "919,930,96", tolerance: 1, // 查询id为10的图层,如果查全图层可以设置为'all' layers: "visible:10", // 筛选条件 layerDefs: [ { layerId: "6", where: `1=1`, }, ], }).then((res)=>{ res.data.results.forEach((result) => { // 查询返回的要素对象 const feature = result.feature; }); }) -
queryFeatures(options){Promise.<QueryFeaturesResult>}
service/igs/arcgis/ArcGISMapServer.js, line 339 -
指定图层的要素查询 [指定图层查询使用示例]
Name Type Description optionsQueryFeauresOptions 指定图层要素查询参数
Returns:
Type Description Promise.<QueryFeaturesResult> 指定图层要素查询结果 -
queryLayerInfo(options)
service/igs/arcgis/ArcGISMapServer.js, line 322 -
查询指定图层信息
Name Type Description options查询参数
Name Type Description successfunction 可选 查询成功回调函数,若使用Promise方式则不必填写
failurefunction 可选 查询失败回调函数,若使用Promise方式则不必填写
-
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); });