| 
                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
                        - /**
 -  * @Author: Caven
 -  * @Date: 2022-02-20 13:46:53
 -  */
 - 
 - import State from '@dc-modules/state/State'
 - import { Layer } from '@dc-modules/layer'
 - import S3MTilesLayer from 's3m-lib/S3MTiles/S3MTilesLayer'
 - 
 - class S3MLayer extends Layer {
 -   constructor(id, url, options = {}) {
 -     super(id)
 -     this._url = url
 -     this._options = options
 -   }
 - 
 -   get type() {
 -     return Layer.getLayerType('s3m')
 -   }
 - 
 -   get readyPromise() {
 -     return this._delegate.readyPromise
 -   }
 - 
 -   _onAdd(viewer) {
 -     this._viewer = viewer
 -     delete this._options['context']
 -     delete this._options['url']
 -     this._delegate = new S3MTilesLayer({
 -       context: this._viewer.scene.context,
 -       url: this._url,
 -       ...this._options
 -     })
 -     this._viewer.scene.primitives.add(this._delegate)
 -     this._addedHook && this._addedHook()
 -     this._state = State.ADDED
 -   }
 - 
 -   _onRemove() {
 -     if (!this._delegate) {
 -       return
 -     }
 -     this._viewer.scene.primitives.remove(this._delegate)
 -     this._removedHook && this._removedHook()
 -     this._state = State.REMOVED
 -   }
 - }
 - 
 - Layer.registerType('s3m')
 - 
 - export default S3MLayer
 
 
  |