Class: AddressServer

AddressServer

new AddressServer(options)

service/igs/AddressServer.js, line 3

地址编码服务,封装 AddressServer 的地理编码与逆地理编码能力,适用于地址检索、坐标反查与空间过滤查询,基地址:/igs/rest/services/{folder}/{serviceName}/AddressServer

Name Type Description
options Object

构造参数

Name Type Default Description
url String null 可选

服务基地址,通常为 /igs/rest/services/{folder}/{serviceName}/AddressServer

Example
//初始化AddressServer服务对象
// ES5引入方式
const { AddressServer } = zondy.service

// ES6引入方式
import { AddressServer } from "@mapgis/webclient-common"
const addressServer= new AddressServer({
    //服务地址
    url: 'http://localhost:8089/igs/rest/services/test/AddressServer'
  })

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

getGeoCode(options){Promise.<Object>}

service/igs/AddressServer.js, line 27

地理编码查询:将地址文本转换为坐标候选结果,后端接口:/igs/rest/services/{serviceName}/AddressServer/geocode

Name Type Description
options Object

查询参数对象

Name Type Default Description
method FetchMethod FetchMethod.get 可选

请求类型

success function 可选

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

failure function 可选

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

address String 可选

地址,必填

province String 可选

指定查询的省

city String 可选

指定查询的市

country String 可选

指定查询的区/县

geometry Polygon | Extent 可选

几何过滤信息

where String 可选

属性过滤条件,示例:hotGroup='社区'

aggLevel Number 5 可选

聚合等级,默认5

aggFormat Number 1 可选

聚合结果格式,默认1(1--返回hash、矩形,其他返回hash、中心点)

fuzzy Boolean true 可选

是否模糊,默认为true

page Number 1 可选

分页参数,页码,默认1

pageSize Number 100 可选

分页参数,每页大小,默认100

Returns:
Type Description
Promise.<Object>
Example
//回调方式
// ES5引入方式
const { Extent } = zondy.geometry

// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
addressServer.getGeoCode({
      address:'小区',
      geometry:new Extent({
        xmin: 110.66,
        ymin: 29.61,
        xmax: 114.05,
        ymax: 32.43
      }),
      pageSize:3,
      success: function (result) {
        console.log('请求成功:', result)
      }
    })
//promise方式
addressServer.getGeoCode({
      address:'小区',
      geometry:new Extent({
        xmin: 110.66,
        ymin: 29.61,
        xmax: 114.05,
        ymax: 32.43
      }),
      pageSize:3,
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

getReverseGeoCode(options){Promise.<Object>}

service/igs/AddressServer.js, line 135

逆地理编码查询:将坐标反查为地址描述,后端接口:/igs/rest/services/{serviceName}/AddressServer/reverseGeocode

Name Type Description
options Object

查询参数对象

Name Type Default Description
method FetchMethod FetchMethod.get 可选

请求类型

success function 可选

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

failure function 可选

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

location String 可选

坐标,格式 x,y,必填

province String 可选

指定查询的省

city String 可选

指定查询的市

country String 可选

指定查询的区/县

radius Number 0.1 可选

搜索半径,默认单位是千米,默认为0.1

geometry Polygon | Extent 可选

几何过滤信息

where String 可选

属性过滤条件,示例:hotGroup='社区'

page Number 1 可选

分页参数,页码,默认1

pageSize Number 100 可选

分页参数,每页大小,默认100

Returns:
Type Description
Promise.<Object>
Example
//回调方式
addressServer.getReverseGeoCode({
     location:'114.410418,30.400674',
      pageSize:1,
      success: function (result) {
        console.log('请求成功:', result)
      }
    })
//promise方式
addressServer.getReverseGeoCode({
     location:'114.410418,30.400674',
      pageSize:1,
}).then(function (result) {
  console.log('请求成功:', result);
}).catch(function (result) {
  console.log('请求失败:', result);
});

inherited queryServerInfo(options){Promise.<Object>}

service/BaseServer.js, line 140

获取服务信息,IGS2.0新增服务

Name Type Default Description
options Object {} 可选

查询参数

Name Type Default Description
success function 可选

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

failure function 可选

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

Returns:
Type Description
Promise.<Object> 服务信息查询结果
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);
});