{"version":3,"file":"AMapImageryProvider.mjs","sources":["../../../../../../packages/components/providers/amap/AMapImageryProvider.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2022-03-30 16:10:02\n * @LastEditTime: 2022-05-14 17:58:20\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\providers\\amap\\AMapImageryProvider.ts\n */\n\nimport defer from 'casc-cesium-utils/defer'\n\nclass AMapImageryProvider {\n  _url: string\n  _ready: boolean\n  _resource: any\n  _tileDiscardPolicy: any\n  _tileWidth: number\n  _tileHeight: number\n  _minimumLevel: any\n  _maximumLevel: any\n  _tilingScheme: Cesium.GeographicTilingScheme | Cesium.WebMercatorTilingScheme\n  _rectangle: any\n  _credit: any\n  enablePickFeatures: any\n  _hasAlphaChannel: any\n  _subdomains: any\n  _errorEvent: any\n  _readyPromise: any\n  _style: string\n  _domain: any\n  _lang: any\n  _scl: any\n  _ltype: any\n  constructor(options) {\n    const { Resource, defaultValue, Credit, Event } = Cesium\n    this._url = options.url\n    const resource = (Resource as any).createIfNeeded(this._url)\n    resource.appendForwardSlash()\n\n    this._ready = false\n    this._resource = resource\n    this._tileDiscardPolicy = options.tileDiscardPolicy\n    this._tileWidth = 256\n    this._tileHeight = 256\n    this._minimumLevel = options.minimumLevel || 0\n    this._maximumLevel = options.maximumLevel || 20\n    this._tilingScheme = options.tilingScheme || new Cesium.WebMercatorTilingScheme()\n    this._rectangle = options.rectangle || this._tilingScheme.rectangle\n    let credit = options.credit\n    if (typeof credit === 'string') {\n      credit = new Credit(credit)\n    }\n    this._credit = credit\n    this.enablePickFeatures = defaultValue(options.enablePickFeatures, false)\n    this._hasAlphaChannel = defaultValue(options.hasAlphaChannel, true)\n    this._errorEvent = new Event()\n    this._readyPromise = defer()\n    this._ready = true\n    this._readyPromise.resolve(true)\n    this._subdomains = options.subdomains || ['01', '02', '03', '04']\n    this._domain = options.domain || 'webst'\n    this._style = options.mapStyle || '6'\n    this._lang = options.lang || 'zh_cn'\n    this._scl = options.scl || '1'\n    this._ltype = options.ltype || '0'\n  }\n\n  get url() {\n    return this._resource._url\n  }\n\n  get proxy() {\n    return this._resource.proxy\n  }\n\n  get tileWidth() {\n    if (!this._ready) {\n      throw new Cesium.DeveloperError('tileWidth must not be called before the imagery provider is ready.')\n    }\n    return this._tileWidth\n  }\n\n  get tileHeight() {\n    if (!this._ready) {\n      throw new Cesium.DeveloperError('tileHeight must not be called before the imagery provider is ready.')\n    }\n    return this._tileHeight\n  }\n\n  get maximumLevel() {\n    if (!this._ready) {\n      throw new Cesium.DeveloperError('maximumLevel must not be called before the imagery provider is ready.')\n    }\n    return this._maximumLevel\n  }\n\n  get minimumLevel() {\n    if (!this.ready) {\n      throw new Cesium.DeveloperError('minimumLevel must not be called before the imagery provider is ready.')\n    }\n    return this._minimumLevel\n  }\n\n  get tilingScheme() {\n    if (!this._ready) {\n      throw new Cesium.DeveloperError('tilingScheme must not be called before the imagery provider is ready.')\n    }\n    return this._tilingScheme\n  }\n\n  get rectangle() {\n    if (!this.ready) {\n      throw new Cesium.DeveloperError('rectangle must not be called before the imagery provider is ready.')\n    }\n    return this._rectangle\n  }\n\n  get tileDiscardPolicy() {\n    if (!this.ready) {\n      throw new Cesium.DeveloperError('tileDiscardPolicy must not be called before the imagery provider is ready.')\n    }\n    return this._tileDiscardPolicy\n  }\n\n  get errorEvent() {\n    return this._errorEvent\n  }\n\n  get ready() {\n    return this._ready\n  }\n\n  get readyPromise() {\n    return this._readyPromise.promise\n  }\n\n  get credit() {\n    if (!this.ready) {\n      throw new Cesium.DeveloperError('credit must not be called before the imagery provider is ready.')\n    }\n    return this._credit\n  }\n\n  get hasAlphaChannel() {\n    if (!this.ready) {\n      throw new Cesium.DeveloperError('hasAlphaChannel must not be called before the imagery provider is ready.')\n    }\n    return this._hasAlphaChannel\n  }\n\n  getTileCredits(x, y, level) {\n    if (!this.ready) {\n      throw new Cesium.DeveloperError('getTileCredits must not be called before the imagery provider is ready.')\n    }\n    return undefined\n  }\n\n  requestImage(x, y, level, request) {\n    if (!this.ready) {\n      throw new Cesium.DeveloperError('requestImage must not be called before the imagery provider is ready.')\n    }\n    return Cesium.ImageryProvider.loadImage(this as any, buildImageResource.call(this, x, y, level, request))\n  }\n\n  pickFeatures(x, y, level, longitude, latitude) {\n    return undefined\n  }\n}\n\nfunction buildImageResource(this, x, y, level, request) {\n  let url = this._url\n  const subdomains = this._subdomains\n  url = url\n    .replace('{domain}', this._domain)\n    .replace('{s}', subdomains[(x + y + level) % subdomains.length])\n    .replace('{lang}', this._lang)\n    .replace('{style}', this._style)\n    .replace('{scl}', this._scl)\n    .replace('{ltype}', this._ltype)\n    .replace('{x}', x)\n    .replace('{y}', y)\n    .replace('{z}', level)\n  const resource = this._resource.getDerivedResource({\n    url: url,\n    request: request\n  })\n  return resource\n}\n\nexport default AMapImageryProvider\n"],"names":[],"mappings":"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"}