casc-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 12.5 kB
Source Map (JSON)
{"version":3,"file":"BaiduMapImageryProvider.mjs","sources":["../../../../../../packages/components/providers/baidu/BaiduMapImageryProvider.ts"],"sourcesContent":["import defer from 'casc-cesium-utils/defer'\nimport BaiduMapMercatorTilingScheme from './BaiduMapTilingScheme'\n\nclass BaiduMapImageryProvider {\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: BaiduMapMercatorTilingScheme\n _rectangle: any\n _credit: any\n enablePickFeatures: any\n _hasAlphaChannel: boolean\n _subdomains: any\n _errorEvent: any\n _readyPromise: any\n _labelStyle: any\n _qt: 'tile' | 'vtile'\n _styles: 'sl' | 'pl'\n _scale: '1' | '2'\n _ak: string\n _mapStyle:\n | 'img'\n | 'vec'\n | 'traffic'\n | 'normal'\n | 'light'\n | 'dark'\n | 'redalert'\n | 'googlelite'\n | 'grassgreen'\n | 'midnight'\n | 'pink'\n | 'darkgreen'\n | 'bluish'\n | 'grayscale'\n | 'hardedge'\n constructor(options) {\n const { Resource, defaultValue, Credit, Event } = Cesium\n this._subdomains = defaultValue(options.subdomains, ['0', '1', '2', '3'])\n if (options.url) {\n this._url = options.url\n } else {\n if (options.mapStyle === 'img') {\n this._url = `//maponline{s}.bdimg.com/starpic/u=x={x};y={y};z={z};v=009;type=sate&qt=satepc&app=webearth2&udt={udt}&fm=46&v=009`\n } else if (options.mapStyle === 'vec') {\n this._url = `//maponline{s}.bdimg.com/tile/?qt={qt}&x={x}&y={y}&z={z}&styles={styles}&scaler={scale}&udt={udt}&from=jsapi2_0`\n } else if (options.mapStyle === 'traffic') {\n this._url = `https://its.map.baidu.com/traffic/TrafficTileService?time={time}&label={labelStyle}&v=016&level={z}&x={x}&y={y}&scaler={scale}`\n } else {\n this._url = `//api.map.baidu.com/customimage/tile?&x={x}&y={y}&z={z}&udt={udt}&scale={scale}&ak={ak}&customid={mapStyle}`\n }\n }\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 || 18\n this._tilingScheme = new BaiduMapMercatorTilingScheme(options)\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._labelStyle = options.labelStyle || 'web2D'\n this._qt = options.qt\n this._styles = options.styles\n this._scale = options.scale\n this._ak = options.ak\n this._mapStyle = options.mapStyle\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('{s}', subdomains[(x + y + level) % subdomains.length])\n .replace('{qt}', this._qt)\n .replace('{x}', x)\n .replace('{y}', -y)\n .replace('{z}', level)\n .replace('{styles}', this._styles)\n .replace('{scale}', this._scale)\n .replace('{mapStyle}', this._mapStyle)\n .replace('{labelStyle}', this._labelStyle)\n .replace('{time}', String(new Date().getTime()))\n .replace('{udt}', String(new Date().getTime()))\n const resource = this._resource.getDerivedResource({\n url: url,\n request: request\n })\n return resource\n}\n\nexport default BaiduMapImageryProvider\n"],"names":[],"mappings":";;;AAEA,MAAM,uBAAuB,CAAC;AAC9B,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;AAC7D,IAAI,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9E,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE;AACrB,MAAM,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;AAC9B,KAAK,MAAM;AACX,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;AACtC,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,kHAAkH,CAAC,CAAC;AACzI,OAAO,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC7C,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,+GAA+G,CAAC,CAAC;AACtI,OAAO,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;AACjD,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,8HAA8H,CAAC,CAAC;AACrJ,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,2GAA2G,CAAC,CAAC;AAClI,OAAO;AACP,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;AAClC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACxB,IAAI,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC9B,IAAI,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACxD,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;AAC1B,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;AAC3B,IAAI,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;AACnD,IAAI,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;AACpD,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;AACnE,IAAI,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AACpF,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAChC,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAClC,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAC1B,IAAI,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AACxE,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,EAAE,CAAC;AACnC,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,CAAC;AACjC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACvB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrC,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC;AACrD,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;AAC1B,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;AAClC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;AAChC,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;AAC1B,IAAI,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;AACtC,GAAG;AACH,EAAE,IAAI,GAAG,GAAG;AACZ,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC/B,GAAG;AACH,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAChC,GAAG;AACH,EAAE,IAAI,SAAS,GAAG;AAClB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,oEAAoE,CAAC,CAAC;AAC5G,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,GAAG;AACH,EAAE,IAAI,UAAU,GAAG;AACnB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,qEAAqE,CAAC,CAAC;AAC7G,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC;AAC5B,GAAG;AACH,EAAE,IAAI,YAAY,GAAG;AACrB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,uEAAuE,CAAC,CAAC;AAC/G,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC;AAC9B,GAAG;AACH,EAAE,IAAI,YAAY,GAAG;AACrB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,uEAAuE,CAAC,CAAC;AAC/G,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC;AAC9B,GAAG;AACH,EAAE,IAAI,YAAY,GAAG;AACrB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,uEAAuE,CAAC,CAAC;AAC/G,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC;AAC9B,GAAG;AACH,EAAE,IAAI,SAAS,GAAG;AAClB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,oEAAoE,CAAC,CAAC;AAC5G,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,GAAG;AACH,EAAE,IAAI,iBAAiB,GAAG;AAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,4EAA4E,CAAC,CAAC;AACpH,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC;AACnC,GAAG;AACH,EAAE,IAAI,UAAU,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC;AAC5B,GAAG;AACH,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,GAAG;AACH,EAAE,IAAI,YAAY,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AACtC,GAAG;AACH,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,iEAAiE,CAAC,CAAC;AACzG,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,GAAG;AACH,EAAE,IAAI,eAAe,GAAG;AACxB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,0EAA0E,CAAC,CAAC;AAClH,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,gBAAgB,CAAC;AACjC,GAAG;AACH,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;AAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,yEAAyE,CAAC,CAAC;AACjH,KAAK;AACL,IAAI,OAAO,KAAK,CAAC,CAAC;AAClB,GAAG;AACH,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;AACrC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,uEAAuE,CAAC,CAAC;AAC/G,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACvG,GAAG;AACH,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE;AACjD,IAAI,OAAO,KAAK,CAAC,CAAC;AAClB,GAAG;AACH,CAAC;AACD,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;AAClD,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;AACtC,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAClZ,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;AACrD,IAAI,GAAG;AACP,IAAI,OAAO;AACX,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,QAAQ,CAAC;AAClB;;;;"}