Class: TileServer

TileServer

new TileServer(options)

service/igs/TileServer.js, line 6

瓦片服务。

TileServer 用于访问 IGS 瓦片服务,并根据服务地址自动识别 IGS1.0/IGS2.0。 可用于查询服务元信息和拼装瓦片出图地址。

Name Type Default Description
options Object {} 可选

构造参数。

Name Type Default Description
url String null 可选

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

clientId String 可选

客户端标识,会透传到请求参数。

Example
// ES5引入方式
const { TileServer } = zondy.service

// ES6引入方式
import { TileServer } from '@mapgis/webclient-common'

const tileServer = new TileServer({
  url: 'http://localhost:8089/igs/rest/services/Tile/EPSG_4326_WORLD_TILE/TileServer'
})

Extends

Members

clientIdString undefined

客户端标识

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

getTile(options){String}

service/igs/TileServer.js, line 67

生成瓦片出图地址。

该方法会根据 igsType 自动选择 IGS1.0 或 IGS2.0 的 URL 模式, 并与构造时携带的查询参数(如 token)合并。

Name Type Default Description
options Object {} 可选

出图参数。

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

瓦片级别;IGS2.0 固定返回 {z} 模板。

row String | Number '{y}' 可选

瓦片行号;仅 IGS1.0 按参数参与拼接。

col String | Number '{x}' 可选

瓦片列号;仅 IGS1.0 按参数参与拼接。

f String 'image' 可选

返回格式(IGS2.0),支持 htmlimage

blankTile Boolean | null null 可选

无瓦片数据时是否返回空白图(IGS2.0)。

Returns:
Type Description
String 瓦片出图地址。

queryServerInfo(options){Promise.<Object>}

service/igs/TileServer.js, line 43

查询瓦片服务元信息。

IGS1.0 会自动将服务地址从 mrms/tile 转换为 mrcs/tiles 元信息地址。

Name Type Default Description
options Object {} 可选

查询参数。

Name Type Description
success function 可选

请求成功回调。

failure function 可选

请求失败回调。

Returns:
Type Description
Promise.<Object> 服务元信息查询结果。