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