| ```json | ```json | ||||
| //属性参数(可选) | //属性参数(可选) | ||||
| { | { | ||||
| "baseUrl": "<Cesium 静态资源路径,默认值为:“./libs/dc-sdk/resources/” >" | |||||
| "baseUrl": "<Cesium 静态资源路径,默认值为:“./libs/dc-sdk/resources/” >", | |||||
| "echarts": "<echarts库,设置后用于ChartLayer>" | |||||
| } | } | ||||
| ``` | ``` | ||||
| <div id="viewer-container" class="viewer-container"></div> | <div id="viewer-container" class="viewer-container"></div> | ||||
| <script> | <script> | ||||
| DC.registerLib('echarts', window.echarts) | |||||
| let viewer = undefined | let viewer = undefined | ||||
| function initViewer() { | function initViewer() { | ||||
| viewer = new DC.Viewer('viewer-container') | viewer = new DC.Viewer('viewer-container') | ||||
| DC.ready({ | DC.ready({ | ||||
| baseUrl: '../libs/dc-sdk/resources/', | baseUrl: '../libs/dc-sdk/resources/', | ||||
| echarts: window.echarts, | |||||
| }).then(initViewer) | }).then(initViewer) | ||||
| </script> | </script> | ||||
| </body> | </body> |
| <div id="viewer-container" class="viewer-container"></div> | <div id="viewer-container" class="viewer-container"></div> | ||||
| <script> | <script> | ||||
| DC.registerLib('echarts', window.echarts) | |||||
| let viewer = undefined | let viewer = undefined | ||||
| function initViewer() { | function initViewer() { | ||||
| viewer = new DC.Viewer('viewer-container') | viewer = new DC.Viewer('viewer-container') | ||||
| DC.ready({ | DC.ready({ | ||||
| baseUrl: '../libs/dc-sdk/resources/', | baseUrl: '../libs/dc-sdk/resources/', | ||||
| echarts: window.echarts, | |||||
| }).then(initViewer) | }).then(initViewer) | ||||
| </script> | </script> | ||||
| </body> | </body> |
| <div id="viewer-container" class="viewer-container"></div> | <div id="viewer-container" class="viewer-container"></div> | ||||
| <script> | <script> | ||||
| DC.registerLib('echarts', window.echarts) | |||||
| let viewer = undefined | let viewer = undefined | ||||
| function initViewer() { | function initViewer() { | ||||
| viewer = new DC.Viewer('viewer-container') | viewer = new DC.Viewer('viewer-container') | ||||
| DC.ready({ | DC.ready({ | ||||
| baseUrl: '../libs/dc-sdk/resources/', | baseUrl: '../libs/dc-sdk/resources/', | ||||
| echarts: window.echarts, | |||||
| }).then(initViewer) | }).then(initViewer) | ||||
| </script> | </script> | ||||
| </body> | </body> |
| <div id="viewer-container" class="viewer-container"></div> | <div id="viewer-container" class="viewer-container"></div> | ||||
| <script> | <script> | ||||
| DC.registerLib('echarts', window.echarts) | |||||
| let viewer = undefined | let viewer = undefined | ||||
| function initViewer() { | function initViewer() { | ||||
| viewer = new DC.Viewer('viewer-container') | viewer = new DC.Viewer('viewer-container') | ||||
| DC.ready({ | DC.ready({ | ||||
| baseUrl: '../libs/dc-sdk/resources/', | baseUrl: '../libs/dc-sdk/resources/', | ||||
| echarts: window.echarts, | |||||
| }).then(initViewer) | }).then(initViewer) | ||||
| </script> | </script> | ||||
| </body> | </body> |
| <div id="viewer-container" class="viewer-container"></div> | <div id="viewer-container" class="viewer-container"></div> | ||||
| <script> | <script> | ||||
| DC.registerLib('echarts', window.echarts) | |||||
| let viewer = undefined | let viewer = undefined | ||||
| function initViewer() { | function initViewer() { | ||||
| viewer = new DC.Viewer('viewer-container') | viewer = new DC.Viewer('viewer-container') |
| <div id="viewer-container" class="viewer-container"></div> | <div id="viewer-container" class="viewer-container"></div> | ||||
| <script> | <script> | ||||
| DC.registerLib('echarts', window.echarts) | |||||
| let viewer = undefined | let viewer = undefined | ||||
| function initViewer() { | function initViewer() { | ||||
| viewer = new DC.Viewer('viewer-container') | viewer = new DC.Viewer('viewer-container') | ||||
| DC.ready({ | DC.ready({ | ||||
| baseUrl: '../libs/dc-sdk/resources/', | baseUrl: '../libs/dc-sdk/resources/', | ||||
| echarts: window.echarts, | |||||
| }).then(initViewer) | }).then(initViewer) | ||||
| </script> | </script> | ||||
| </body> | </body> |
| */ | */ | ||||
| export function registerLib(name, lib) { | export function registerLib(name, lib) { | ||||
| cache[name] = lib | cache[name] = lib | ||||
| if (name === 'echarts' && this.registerEcharts) { | |||||
| this.registerEcharts(lib) | |||||
| } | |||||
| return this | |||||
| } | } | ||||
| /** | /** |
| @Author: Caven Chen | @Author: Caven Chen | ||||
| **/ | **/ | ||||
| import { setParam } from './global-api' | |||||
| import { setParam, registerLib } from './global-api' | |||||
| import { registerEcharts } from './modules/chart' | |||||
| const DEF_BASE_URL = './libs/dc-sdk/resources/' | const DEF_BASE_URL = './libs/dc-sdk/resources/' | ||||
| let _baseUrl = DEF_BASE_URL | let _baseUrl = DEF_BASE_URL | ||||
| let __isInitialized = false | let __isInitialized = false | ||||
| export { Math } from './modules/math' | export { Math } from './modules/math' | ||||
| export { registerEcharts, ChartLayer } from './modules/chart' | |||||
| export { ChartLayer } from './modules/chart' | |||||
| export const config = { | export const config = { | ||||
| set baseUrl(baseUrl) { | set baseUrl(baseUrl) { | ||||
| return Promise.resolve() | return Promise.resolve() | ||||
| } | } | ||||
| __cmdOut && __cmdOut() | __cmdOut && __cmdOut() | ||||
| if (options['baseUrl']) { | |||||
| this.config.baseUrl = options['baseUrl'] | |||||
| } | |||||
| __isInitialized = true | |||||
| return new Promise((resolve, reject) => { | return new Promise((resolve, reject) => { | ||||
| //reset CESIUM_BASE_URL | |||||
| if (options['baseUrl']) { | |||||
| this.config.baseUrl = options['baseUrl'] | |||||
| } | |||||
| //register echarts lib | |||||
| if (options['echarts']) { | |||||
| registerEcharts(options['echarts']) | |||||
| registerLib('echarts', options['echarts']) | |||||
| } | |||||
| __isInitialized = true | |||||
| setParam('isInitialized', true) | setParam('isInitialized', true) | ||||
| setParam('baseUrl', this.config.baseUrl) | setParam('baseUrl', this.config.baseUrl) | ||||
| resolve() | resolve() |
| class ChartLayer extends Layer { | class ChartLayer extends Layer { | ||||
| constructor(id, option) { | constructor(id, option) { | ||||
| if (!getLib('echarts')) { | |||||
| throw new Error('miss the echarts lib') | |||||
| } | |||||
| super(id) | super(id) | ||||
| this._option = option | this._option = option | ||||
| this._delegate = undefined | this._delegate = undefined | ||||
| } | } | ||||
| _onAdd(viewer) { | _onAdd(viewer) { | ||||
| let echarts = getLib('echarts') | |||||
| if (!echarts) { | |||||
| throw new Error('') | |||||
| } | |||||
| const echarts = getLib('echarts') | |||||
| this._viewer = viewer | this._viewer = viewer | ||||
| this._viewer.canvas.setAttribute('tabIndex', '0') | this._viewer.canvas.setAttribute('tabIndex', '0') | ||||
| this._delegate = this._createChartElement() | this._delegate = this._createChartElement() |