cesium-xs-sdk 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -6
- package/dist/cesium-xs-sdk.cjs.js +4 -0
- package/dist/cesium-xs-sdk.cjs.js.map +1 -1
- package/dist/cesium-xs-sdk.esm.js +4 -0
- package/dist/cesium-xs-sdk.esm.js.map +1 -1
- package/dist/cesium-xs-sdk.umd.js +1 -1
- package/dist/cesium-xs-sdk.umd.js.map +1 -1
- package/package.json +5 -1
- package/src/index.d.ts +18 -1
- package/src/index.js +4 -0
- package/src/vite-plugin.d.ts +16 -0
- package/src/vite-plugin.js +150 -0
package/README.md
CHANGED
|
@@ -36,17 +36,49 @@ npm install cesium-xs-sdk cesium
|
|
|
36
36
|
</script>
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
### Vue 3
|
|
39
|
+
### Vue 3 / Vite(推荐 SDK 内置插件)
|
|
40
|
+
|
|
41
|
+
Vite 打包环境下,Cesium 运行时需要额外静态资源(如 `ApproximateTerrainHeights.json`、纹理、Worker 等)。使用 SDK 内置的 Vite 插件,无需手动把 Cesium 复制到 `public/`,开发时自动从 `node_modules/cesium` serve 资源,构建时自动复制到产物目录,离线可用。
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm install cesium-xs-sdk cesium
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
// vite.config.js
|
|
49
|
+
import { defineConfig } from 'vite';
|
|
50
|
+
import vue from '@vitejs/plugin-vue';
|
|
51
|
+
import { cesiumXsSdkPlugin } from 'cesium-xs-sdk/vite';
|
|
52
|
+
|
|
53
|
+
export default defineConfig({
|
|
54
|
+
plugins: [
|
|
55
|
+
vue(),
|
|
56
|
+
cesiumXsSdkPlugin({ cesiumBaseUrl: '/Cesium/' })
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
```
|
|
40
60
|
|
|
41
61
|
```js
|
|
62
|
+
// 组件中
|
|
42
63
|
import { useXs3d } from 'cesium-xs-sdk/vue';
|
|
43
64
|
|
|
44
|
-
const { sdk, sceneModule, graphicModule, isReady } = useXs3d('cesiumContainer', {
|
|
45
|
-
cesiumToken: 'your-token'
|
|
65
|
+
const { sdk, sceneModule, graphicModule, controlModule, isReady } = useXs3d('cesiumContainer', {
|
|
66
|
+
cesiumToken: 'your-token',
|
|
67
|
+
cesiumBaseUrl: '/Cesium/',
|
|
68
|
+
controls: {
|
|
69
|
+
locationBar: true,
|
|
70
|
+
zoom: true,
|
|
71
|
+
compass: true,
|
|
72
|
+
distanceLegend: true
|
|
73
|
+
}
|
|
46
74
|
});
|
|
47
75
|
```
|
|
48
76
|
|
|
49
|
-
|
|
77
|
+
> 插件默认从项目 `node_modules/cesium` 读取资源;若 Cesium 安装位置不同,可传 `cesiumPackageRoot: '/path/to/cesium'`。
|
|
78
|
+
|
|
79
|
+
如果不使用内置插件,也可以手动复制 `node_modules/cesium/Build/Cesium/` 到 `public/Cesium/`,但内置插件能避免维护这些静态文件。
|
|
80
|
+
|
|
81
|
+
### Vue 2 / Vue CLI
|
|
50
82
|
|
|
51
83
|
```js
|
|
52
84
|
import { useXs3d } from 'cesium-xs-sdk/vue2';
|
|
@@ -54,13 +86,16 @@ import { useXs3d } from 'cesium-xs-sdk/vue2';
|
|
|
54
86
|
export default {
|
|
55
87
|
setup() {
|
|
56
88
|
const { sdk, sceneModule, graphicModule } = useXs3d('cesiumContainer', {
|
|
57
|
-
cesiumToken: 'your-token'
|
|
89
|
+
cesiumToken: 'your-token',
|
|
90
|
+
cesiumBaseUrl: '/Cesium/'
|
|
58
91
|
});
|
|
59
92
|
return { sdk, sceneModule, graphicModule };
|
|
60
93
|
}
|
|
61
94
|
};
|
|
62
95
|
```
|
|
63
96
|
|
|
97
|
+
> Vue CLI 项目请将 `node_modules/cesium/Build/Cesium/` 复制到 `public/Cesium/`。
|
|
98
|
+
|
|
64
99
|
### React
|
|
65
100
|
|
|
66
101
|
```jsx
|
|
@@ -68,12 +103,15 @@ import { useXs3d } from 'cesium-xs-sdk/react';
|
|
|
68
103
|
|
|
69
104
|
function Map() {
|
|
70
105
|
const { sdk, isReady } = useXs3d('cesiumContainer', {
|
|
71
|
-
cesiumToken: 'your-token'
|
|
106
|
+
cesiumToken: 'your-token',
|
|
107
|
+
cesiumBaseUrl: '/Cesium/'
|
|
72
108
|
});
|
|
73
109
|
return <div id="cesiumContainer" style={{ width: '100%', height: '100%' }} />;
|
|
74
110
|
}
|
|
75
111
|
```
|
|
76
112
|
|
|
113
|
+
> React + Vite/CRA 项目同样需要将 `node_modules/cesium/Build/Cesium/` 复制到 `public/Cesium/`。
|
|
114
|
+
|
|
77
115
|
## 构建产物
|
|
78
116
|
|
|
79
117
|
```text
|
|
@@ -8589,6 +8589,10 @@ class GeoCalcUtil {
|
|
|
8589
8589
|
const xs3d = {
|
|
8590
8590
|
// 初始化 SDK
|
|
8591
8591
|
init: (container, config = {}) => {
|
|
8592
|
+
// 设置 Cesium 资源基础路径(在创建 Viewer 之前生效)
|
|
8593
|
+
if (config.cesiumBaseUrl && window.Cesium?.buildModuleUrl) {
|
|
8594
|
+
window.Cesium.buildModuleUrl.setBaseUrl(config.cesiumBaseUrl);
|
|
8595
|
+
}
|
|
8592
8596
|
// 设置 Cesium Token(提前处理,避免内部模块重复设置)
|
|
8593
8597
|
if (config.cesiumToken) {
|
|
8594
8598
|
window.Cesium.Ion.defaultAccessToken = config.cesiumToken;
|