English | 中文
This is a Cesium development kit that includes functionalities such as layer loading, coordinate conversion, coordinate picking, camera control, measurement, plotting, model loading and manipulation (translation, rotation scaling), 3Dtiles view position adjustment, weather effects (rain, snow, fog), scene rendering with radar scan and information box display capabilities. It also provides features for flow line visualization, lighting effects including dynamic wall and other luminous materials rendering. Additionally it supports Post effects, visibility analysis tools for perspective analysis and slope analysis. Furthermore it offers Inundation analysis as well as volume analysis capabilities and terrain excavation functionality.
material | analysis | plot |
dynamicRiver | extrude | effect |
radar | roaming | drag |
rayCast | fireworksEffect | aniSoldier |
pathPlan |
npm install cesium_dev_kit
The initialization of 'initCesium' allows for the acquisition of all extension modules.
import { initCesium } from 'cesium_dev_kit'
// custom viewer
var myViewer = new Cesium.Viewer('cesiumContainer', {
animation: false, //Whether to display animation controls
homeButton: false, //Whether to display the home button
geocoder: false, //Whether to display the place name lookup control If set to true, it cannot be queried
baseLayerPicker: false, //Whether to display layer selection controls
timeline: false, //Whether to display the timeline control
fullscreenButton: true, //Whether to display the button in full screen
scene3DOnly: false, //If set to true, all geometry is drawn in 3D mode to save GPU resources
infoBox: false, //Whether to display the information displayed after clicking the element
sceneModePicker: false, //Whether to display projection mode controls 3D / 2D
navigationInstructionsInitiallyVisible: false,
navigationHelpButton: false, //Whether to display the help control
selectionIndicator: false //Whether to display indicator components
});
//Allowing an existing Viewer to be passed in, cesium_dev_kit will use the passed Viewer directly without re-instantiating it with "new Cesium.Viewer()".
const { viewer, material, ... } = new initCesium({
cesiumGlobal: Cesium,
containerId: 'cesiumContainer',
viewer: myViewer,
...})
The import of a single extension class can be tailored to meet specific functional requirements, thereby minimizing code redundancy.
import {Graphics} from 'cesium_dev_kit'
// custom viewer
var myViewer = new Cesium.Viewer('cesiumContainer', {
animation: false, //Whether to display animation controls
homeButton: false, //Whether to display the home button
geocoder: false, //Whether to display the place name lookup control If set to true, it cannot be queried
baseLayerPicker: false, //Whether to display layer selection controls
timeline: false, //Whether to display the timeline control
fullscreenButton: true, //Whether to display the button in full screen
scene3DOnly: false, //If set to true, all geometry is drawn in 3D mode to save GPU resources
infoBox: false, //Whether to display the information displayed after clicking the element
sceneModePicker: false, //Whether to display projection mode controls 3D / 2D
navigationInstructionsInitiallyVisible: false,
navigationHelpButton: false, //Whether to display the help control
selectionIndicator: false //Whether to display indicator components
});
//Allowing an existing Viewer to be passed in, cesium_dev_kit will use the passed Viewer directly without re-instantiating it with "new Cesium.Viewer()".
const {viewer,graphics} = new Graphics({
cesiumGlobal: Cesium,
//containerId: 'cesiumContainer',
viewer: myViewer
})
graphics.getPointGraphics({
color:Cesium.Color.GREEN,
pixelSize:5,
outlineColor:Cesium.Color.WHITE,
outlineWidth:1
})
- Import index.umd.js directly into html
<script type="text/javascript" src="index.umd.js"></script>
- Initialize object
new cesium_dev_kit.initCesium({...})
See API documentation 📑 (Cheap server, please be patient) for more details...
-
Vue Use case https://github.com/dengxiaoning/cesium_kit_test
-
React Use case https://github.com/dengxiaoning/react-cesium
-
H5 Use case https://github.com/dengxiaoning/cesium_kit_test_h5
Do you use and like cesium_dev_kit but you don’t find a way to show some love? If yes, please consider donating to support this project. Otherwise, no worries, regardless of whether there is support or not, I will keep maintaining this project. Still, if you buy me a cup of coffee I would be more than happy though😄
The 'Chrome 80+' browser is recommended for local development
Modern browsers (chrome, Firefox, Microsoft edge, etc.) are supported. Internet Explorer is not supported
cesium-d3kit
drawarrowforcesium
vue3-ts-cesium-map-show
This project includes but is not limited to the reference and reference of the above materials, thank you very much for sharing
- 1、Extended classes not using type detection (TS)
- 2、No exception catching and handling
This project exists thanks to all the people who contribute.
- If you want to contribute, you can Raise an issue Or submit a Pull Request.
See CONTRIBUTING for more details on donations...
I am grateful to the generous individuals who awarded me these little stars, thank you for your support ❤️
@sincely、@ooil929
、 @InPanda、 luyufanzhi
、AllenChiangCN、Liquid-Zhangliquan
... thank you for your attention ❤️