vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 10.8 kB
Source Map (JSON)
{"version":3,"file":"TencentImageryProvider.mjs","sources":["../../../../../../packages/components/providers/tencent/TencentImageryProvider.ts"],"sourcesContent":["import defer from '@vue-cesium/utils/defer'\n\n/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2022-03-30 16:10:02\n * @LastEditTime: 2022-05-14 17:58:25\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\providers\\tencent\\TencentImageryProvider.ts\n */\nconst TILE_URL = {\n img: '//p{s}.map.gtimg.com/sateTiles/{z}/{sx}/{sy}/{x}_{reverseY}.jpg&scene=0',\n terrain: '//p{s}.map.gtimg.com/demTiles/{z}/{sx}/{sy}/{x}_{reverseY}.jpg&scene=0',\n vector: '//rt{s}.map.gtimg.com/tile?z={z}&x={x}&y={reverseY}&type=vector&styleid={style}&scene=0'\n}\n\nclass TencentImageryProvider {\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 constructor(options) {\n const { Resource, defaultValue, Credit, Event } = Cesium\n this._subdomains = options.subdomains || ['1', '2', '3']\n this._url = options.url || [options.protocol || '', TILE_URL[options.mapStyle] || TILE_URL['vector']].join('')\n\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 = new Cesium.WebMercatorTilingScheme()\n this._rectangle = defaultValue(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._style = options.styleId\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 const reverseY = this.tilingScheme.getNumberOfYTilesAtLevel(level) - y - 1\n url = url\n .replace('{s}', subdomains[(x + y + level) % subdomains.length])\n .replace('{style}', this._style)\n .replace('{x}', x)\n .replace('{y}', -y)\n .replace('{z}', level)\n .replace('{sx}', x >> 4)\n .replace('{sy}', ((1 << level) - y) >> 4)\n .replace('{reverseY}', reverseY)\n const resource = this._resource.getDerivedResource({\n url: url,\n request: request\n })\n return resource\n}\n\nexport default TencentImageryProvider\n"],"names":[],"mappings":"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"}