DC-SDK
是基于开源项目Cesium
进行二次开发的二三维一体的WebGis
应用框架,该框架优化了部分Cesium
的使用方式和增添一些通用功能,旨在为开发者快速构建WebGis
应用。
Tips:本框架是 JS+GIS 的框架包。开发者需要有一定的前端技术和 GIS 相关技术
yarn run build
yarn run server
NPM / YARN
(推荐使用)
NPM / YARN 的方式安装,它能更好地和 webpack
打包工具配合使用。
yarn add @dvgis/dc-sdk
-------------------------
npm install @dvgis/dc-sdk
import * as DC from '@dvgis/dc-sdk/'
import '@dvgis/dc-sdk/dist/dc.min.css'
CDN
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.base.js"></script>
<link
href="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.min.css"
rel="stylesheet"
type="text/css"
/>
请将 resources 放置工程根目录 libs/dc-sdk 下,如果放置到其他目录下,框架将无法正常运行
配置主要用于
NPM / YARN
的方式
由于框架将Cesium静态资源默认路径设置为 ./libs/dc-sdk/resources/
,这样需将 Cesium
相关的静态资源文件: Assets
、Workers
、ThirdParty
复制到工程的 libs/dc-sdk/resources
目录下以保证三维场景能够正常呈现,也可通过全局函数进行 Cesium
相关的静态资源路基设置
Webpack
// webpack.config.js
const path = require('path')
const CopywebpackPlugin = require('copy-webpack-plugin')
const dvgisDist = './node_modules/@dvgis'
module.exports = {
plugins: [
new CopyWebpackPlugin([
{
from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
to: 'libs/dc-sdk/resources',
},
]),
],
}
Vue2.x
// vue.config.js
const path = require('path')
const CopywebpackPlugin = require('copy-webpack-plugin')
const dvgisDist = './node_modules/@dvgis'
module.exports = {
// 其他配置
chainWebpack: (config) => {
config.plugin('copy').use(CopywebpackPlugin, [
[
{
from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
to: 'libs/dc-sdk/resources',
},
],
])
},
}
Vue3.x
// vue.config.js
const path = require('path')
const CopywebpackPlugin = require('copy-webpack-plugin')
const dvgisDist = './node_modules/@dvgis'
module.exports = {
// 其他配置
chainWebpack: (config) => {
config.plugin('copy').use(CopywebpackPlugin, [
{
patterns: [
{
from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
to: path.join(__dirname, 'dist', 'libs/dc-sdk/resources'),
},
],
},
])
},
}
vite
// vite.config.js
import { defineConfig } from 'vite'
import DC from '@dvgis/vite-plugin-dc'
export default defineConfig({
plugins: [DC()],
})
DC.ready().then(() => {
let viewer = new DC.Viewer(divId)
})
如果dc-sdk能够给您带来效益,请支持一下呗~
1.框架作为一个基础平台,代码开源,任何个人和机构可以修改、重构,无需经过我方授权。
2.任何个人和机构修改框架出现的问题,我方无需负责。
3.后期会添加一些行业性的插件和工具,代码会适量开源。
4.对于我方发布的程序包,任何个人和机构在遵守下列条件的前提下可以永久免费使用:
1)程序包完整引用;
2)保留此版权信息在控制台输出
我方保留对此版权信息的最终解释权。