import BaseServer from '../../BaseServer'
import { Zondy } from '../../../base'
/**
* ArcGIS的VectorTileServer服务
* @class ArcGISVectorTileServer
* @moduleEx ServiceModule
* @extends BaseServer
* @param {Object} options 构造参数
* @param {String} [options.url = 无] 服务基地址
*/
class ArcGISVectorTileServer extends BaseServer {
constructor(options) {
super(options)
}
/**
* 查询资源信息
* @param options 查询参数
* @param {Function} [options.success] 查询成功回调函数,若使用Promise方式则不必填写
* @param {Function} [options.failure] 查询失败回调函数,若使用Promise方式则不必填写
*/
queryResourceInfo(options) {
// 调用基类的查询信息方法
return this._querySimpleInfo(options, function (url) {
// 拼装返回基地址
return `${url}/resources/info`
})
}
/**
* 获取样式列表
* @param options 查询参数
* @param {Function} [options.success] 查询成功回调函数,若使用Promise方式则不必填写
* @param {Function} [options.failure] 查询失败回调函数,若使用Promise方式则不必填写
*/
getStyleList(options) {
// 调用基类的查询信息方法
return this._querySimpleInfo(options, function (url) {
// 拼装返回基地址
return `${url}/resources/styles`
})
}
/**
* @description 获取指定样式
* @param options 查询参数
* @param {String} [options.styleId] 样式id,必填
* @param {Function} [options.success] 查询成功回调函数,若使用Promise方式则不必填写
* @param {Function} [options.failure] 查询失败回调函数,若使用Promise方式则不必填写
*/
getStyle(options) {
// 设置PATH PARAMETERS校验
const checkPathOpts = {
styleId: {
type: 'String'
}
}
// 设置QUERY PARAMETERS校验
const checkQueryOpts = {}
// 调用基类的查询信息方法
return this._queryByParameters(
options,
checkPathOpts,
checkQueryOpts,
// 拼装返回基地址
function (url, options) {
return `${url}/resources/styles/${options.styleId}?f=json`
}
)
}
/**
* @description 获取TileMap
* @param options 查询参数
* @param {Function} [options.success] 查询成功回调函数,若使用Promise方式则不必填写
* @param {Function} [options.failure] 查询失败回调函数,若使用Promise方式则不必填写
*/
getTileMap(options) {
// 调用基类的查询信息方法
return this._querySimpleInfo(options, function (url) {
// 拼装返回基地址
return `${url}/tilemap`
})
}
}
Zondy.Service.ArcGISVectorTileServer = ArcGISVectorTileServer
export default ArcGISVectorTileServer