소스 검색

1.开放框架基类,2.添加瓦片创建方法

tags/1.5.1
Caven Chen 5 년 전
부모
커밋
5e7c006acc

+ 11
- 11
dist/dc-sdk/dc.base.min.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 1
- 1
dist/dc-sdk/dc.core.min.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 1
- 1
dist/dc-sdk/overlay/dc.overlay.min.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 1
- 1
dist/dc-sdk/plugins/dc.plugins.min.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 13
- 2
src/base/index.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-04-22 09:44:30
* @Last Modified by: Caven
* @Last Modified time: 2020-05-08 20:27:59
* @Last Modified time: 2020-05-09 13:10:37
*/
;(function() {
let isCesiumLoaded = false
@@ -10,7 +10,7 @@
Author: 'Caven Chen',
GitHub: 'https://github.com/Digital-Visual',
Home: 'https://www.dvgis.cn',
Version: '1.4.2',
Version: '1.5.0',
Config: {},
Namespace: {},
Initialized: false
@@ -38,6 +38,17 @@
requireCesium().then(Cesium => {
DC.Namespace['Cesium'] = Cesium
delete window.Cesium
DC.LayerType = {}
DC.OverlayType = {}
DC.EffectType = {}
DC.WidgetType = {}
DC.ImageryType = {
ARCGIS: 'arcgis',
SINGLE_TILE: 'single_tile',
WMTS: 'wmts',
XYZ: 'xyz',
COORD: 'Coord'
}
isCesiumLoaded = true
callback && callback()
})

+ 11
- 0
src/core/DC.Loader.Base.js 파일 보기

@@ -0,0 +1,11 @@
/*
* @Author: Caven
* @Date: 2020-05-09 13:19:53
* @Last Modified by: Caven
* @Last Modified time: 2020-05-09 13:19:53
*/
import './const'
import './utils'
import './math'
import './layer'
import './overlay'

+ 1
- 7
src/core/DC.Loader.js 파일 보기

@@ -2,14 +2,8 @@
* @Author: Caven
* @Date: 2019-12-27 17:18:52
* @Last Modified by: Caven
* @Last Modified time: 2020-04-14 19:27:14
* @Last Modified time: 2020-05-09 13:20:15
*/

import './const'
import './utils'
import './math'
import './layer'
import './overlay'
import './imagery/DC.ImageryLayerFactory'
import './terrain/DC.TerrainFactory'
import './position/DC.Position'

+ 37
- 19
src/core/DC.js 파일 보기

@@ -2,29 +2,47 @@
* @Author: Caven
* @Date: 2019-12-27 14:29:05
* @Last Modified by: Caven
* @Last Modified time: 2020-05-06 10:32:58
* @Last Modified time: 2020-05-09 13:25:12
*/

/**
* 框架开始
*/
DC.ready = callback => {
try {
if (!DC.Initialized) {
DC.init(() => {
require('../thirdpart')
require('./DC.Loader')
const install = function(DC) {
if (!DC) {
throw new Error('DC.Overlay: Missing DC Base SDK')
}

DC.init(() => {
require('../thirdpart')
require('./DC.Loader.Base')
})

/**
* 框架开始
*/
DC.ready = callback => {
try {
if (!DC.Initialized) {
DC.init(() => {
require('./DC.Loader')
DC.Initialized = true
callback && callback()
})
} else {
callback && callback()
DC.Initialized = true
})
} else {
callback && callback()
}
} catch (e) {
delete window.Cesium
delete window.DC

console.error(e)
}
} catch (e) {
delete window.Cesium
DC.Initialized = false
console.error(e)
}
}

module.exports = {}
/* istanbul ignore if */
if (typeof window !== 'undefined' && window.DC) {
install(window.DC)
}

module.exports = {
install
}

+ 1
- 17
src/core/const/index.js 파일 보기

@@ -2,23 +2,7 @@
* @Author: Caven
* @Date: 2020-01-03 10:09:19
* @Last Modified by: Caven
* @Last Modified time: 2020-04-10 17:06:50
* @Last Modified time: 2020-05-09 12:52:15
*/
import './EventType'
import './StateType'

DC.LayerType = {
...DC.LayerType
}

DC.OverlayType = {
...DC.OverlayType
}

DC.EffectType = {
...DC.EffectType
}

DC.WidgetType = {
...DC.WidgetType
}

+ 59
- 1
src/core/imagery/DC.ImageryLayerFactory.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-21 15:54:56
* @Last Modified by: Caven
* @Last Modified time: 2020-03-29 13:15:17
* @Last Modified time: 2020-05-09 13:05:36
*/
import Cesium from '@/namespace'
import AmapImageryProvider from './provider/AmapImageryProvider'
@@ -14,6 +14,8 @@ import TencentImageryProvider from './provider/TencentImageryProvider'
DC.ImageryLayerFactory = class {
/**
* Create amap image layer
* @param {*} options
*
*/
static createAmapImageryLayer(options) {
return new AmapImageryProvider(options)
@@ -21,6 +23,7 @@ DC.ImageryLayerFactory = class {

/**
* Create baidu image layer
* @param {*} options
*/
static createBaiduImageryLayer(options) {
return new BaiduImageryProvider(options)
@@ -28,6 +31,7 @@ DC.ImageryLayerFactory = class {

/**
* Create google image layer
* @param {*} options
*/
static createGoogleImageryLayer(options) {
return new GoogleImageryProvider(options)
@@ -35,6 +39,7 @@ DC.ImageryLayerFactory = class {

/**
* Create tdt image layer
* @param {*} options
*/
static createTdtImageryLayer(options) {
return new TdtImageryProvider(options)
@@ -49,6 +54,7 @@ DC.ImageryLayerFactory = class {

/**
* Create arcgis image layer
* @param {*} options
*/
static createArcGisImageryLayer(options) {
return new Cesium.ArcGisMapServerImageryProvider(options)
@@ -56,6 +62,8 @@ DC.ImageryLayerFactory = class {

/**
* Create singel tile image layer
* @param {*} options
*
*/
static createSingleTileImageryLayer(options) {
return new Cesium.SingleTileImageryProvider(options)
@@ -63,6 +71,8 @@ DC.ImageryLayerFactory = class {

/**
* Create wmts image layer
* @param {*} options
*
*/
static createWMTSImageryLayer(options) {
return new Cesium.WebMapTileServiceImageryProvider(options)
@@ -70,6 +80,8 @@ DC.ImageryLayerFactory = class {

/**
* Create xyz image layer
* @param {*} options
*
*/
static createXYZImageryLayer(options) {
return new Cesium.UrlTemplateImageryProvider(options)
@@ -77,8 +89,54 @@ DC.ImageryLayerFactory = class {

/**
* Create coord image layer
* @param {*} options
*
*/
static createCoordImageryLayer(options) {
return new Cesium.TileCoordinatesImageryProvider(options)
}

/**
*
* @param {*} type
* @param {*} options
*/
static createImageryLayer(type, options) {
let imageryLayer = undefined
switch (type) {
case DC.ImageryType.AMAP:
imageryLayer = this.createAmapImageryLayer(options)
break
case DC.ImageryType.BAIDU:
imageryLayer = this.createBaiduImageryLayer(options)
break
case DC.ImageryType.GOOGLE:
imageryLayer = this.createGoogleImageryLayer(options)
break
case DC.ImageryType.TDT:
imageryLayer = this.createTdtImageryLayer(options)
break
case DC.ImageryType.TENCENT:
imageryLayer = this.createTencentImageryLayer(options)
break
case DC.ImageryType.ARCGIS:
imageryLayer = this.createArcGisImageryLayer(options)
break
case DC.ImageryType.SINGLE_TILE:
imageryLayer = this.createSingleTileImageryLayer(options)
break
case DC.ImageryType.WMTS:
imageryLayer = this.createWMTSImageryLayer(options)
break
case DC.ImageryType.XYZ:
imageryLayer = this.createXYZImageryLayer(options)
break
case DC.ImageryType.COORD:
imageryLayer = this.createCoordImageryLayer(options)
break
default:
break
}
return imageryLayer
}
}

+ 4
- 1
src/core/imagery/provider/AmapImageryProvider.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-15 20:31:28
* @Last Modified by: Caven
* @Last Modified time: 2020-04-30 12:33:06
* @Last Modified time: 2020-05-09 12:52:46
*/

import Cesium from '@/namespace'
@@ -22,4 +22,7 @@ class AmapImageryProvider extends Cesium.UrlTemplateImageryProvider {
super(options)
}
}

DC.ImageryType.AMAP = 'amap'

export default AmapImageryProvider

+ 3
- 1
src/core/imagery/provider/BaiduImageryProvider.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-15 20:27:27
* @Last Modified by: Caven
* @Last Modified time: 2020-02-12 02:28:29
* @Last Modified time: 2020-05-09 12:53:14
*/

import Cesium from '@/namespace'
@@ -115,4 +115,6 @@ class BaiduImageryProvider {
}
}

DC.ImageryType.BAIDU = 'baidu'

export default BaiduImageryProvider

+ 3
- 1
src/core/imagery/provider/GoogleImageryProvider.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-21 16:06:14
* @Last Modified by: Caven
* @Last Modified time: 2020-04-30 12:33:03
* @Last Modified time: 2020-05-09 12:53:27
*/

import Cesium from '@/namespace'
@@ -31,4 +31,6 @@ class GoogleImageryProvider extends Cesium.UrlTemplateImageryProvider {
}
}

DC.ImageryType.GOOGLE = 'google'

export default GoogleImageryProvider

+ 3
- 1
src/core/imagery/provider/TdtImageryProvider.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-15 20:31:46
* @Last Modified by: Caven
* @Last Modified time: 2020-02-12 02:05:03
* @Last Modified time: 2020-05-09 12:53:37
*/
import Cesium from '@/namespace'

@@ -29,4 +29,6 @@ class TdtImageryProvider extends Cesium.WebMapTileServiceImageryProvider {
}
}

DC.ImageryType.TDT = 'tdt'

export default TdtImageryProvider

+ 3
- 1
src/core/imagery/provider/TencentImageryProvider.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-21 16:10:47
* @Last Modified by: Caven
* @Last Modified time: 2020-04-30 12:32:51
* @Last Modified time: 2020-05-09 12:54:58
*/

import Cesium from '@/namespace'
@@ -20,4 +20,6 @@ class TencentImageryProvider extends Cesium.UrlTemplateImageryProvider {
}
}

DC.ImageryType.TENCENT = 'tdt'

export default TencentImageryProvider

+ 3
- 1
src/core/layer/Layer.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-03 09:38:21
* @Last Modified by: Caven
* @Last Modified time: 2020-05-06 10:09:57
* @Last Modified time: 2020-05-09 12:46:32
*/
import Cesium from '@/namespace'
import { LayerEvent } from '@/core/event'
@@ -275,4 +275,6 @@ class Layer {
setStyle(style) {}
}

DC.Layer = Layer

export default Layer

+ 3
- 1
src/core/overlay/Overlay.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-03 12:18:17
* @Last Modified by: Caven
* @Last Modified time: 2020-05-06 10:29:09
* @Last Modified time: 2020-05-09 12:46:01
*/
import { OverlayEvent } from '@/core/event'

@@ -177,4 +177,6 @@ class Overlay {
}
}

DC.Overlay = Overlay

export default Overlay

+ 6
- 1
src/core/viewer/DC.Viewer.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2019-12-27 17:13:24
* @Last Modified by: Caven
* @Last Modified time: 2020-04-29 21:04:33
* @Last Modified time: 2020-05-09 13:23:14
*/

import Cesium from '@/namespace'
@@ -38,9 +38,14 @@ const DEF_OPTS = {

DC.Viewer = class {
constructor(id, options = {}) {
if (!DC.Initialized) {
throw new Error('The DC is not initialized')
}

if (!id || !document.getElementById(id)) {
throw new Error('DC.Viewer:the id is empty')
}

this._delegate = new Cesium.Viewer(id, {
...options,
...DEF_OPTS

+ 3
- 1
src/plugins/effects/Effect.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-01-14 18:33:33
* @Last Modified by: Caven
* @Last Modified time: 2020-05-06 14:56:57
* @Last Modified time: 2020-05-09 12:47:31
*/

import { EffectEvent } from '@/core/event'
@@ -115,4 +115,6 @@ class Effect {
}
}

DC.Effect = Effect

export default Effect

+ 3
- 6
src/plugins/layer/DC.HeatLayer.js 파일 보기

@@ -2,7 +2,7 @@
* @Author: Caven
* @Date: 2020-02-27 00:35:35
* @Last Modified by: Caven
* @Last Modified time: 2020-05-06 13:06:11
* @Last Modified time: 2020-05-09 10:49:51
*/
import Cesium from '@/namespace'
import Layer from '@/core/layer/Layer'
@@ -188,7 +188,6 @@ DC.HeatLayer = class extends Layer {

_reDraw() {
/** set bounds */

if (!this._bounds) {
return false
}
@@ -204,7 +203,6 @@ DC.HeatLayer = class extends Layer {
this._initCanvas()
}
let data = []

this._positions.forEach(item => {
let coord = this._transformWGS84ToHeatmap({
lng: item.lng || item.x,
@@ -221,9 +219,8 @@ DC.HeatLayer = class extends Layer {
max: 1,
data
})
if (!this._entity.rectangle) {
this._initEntity()
}
this._delegate.entities.remove(this._entity)
this._initEntity()
let material = new Cesium.ImageMaterialProperty({
image: this._heat._renderer.canvas,
transparent: true

Loading…
취소
저장