Cesium-Examples/examples/cesiumEx/7.2.2、简易入门2.html
2025-06-12 14:10:21 +08:00

75 lines
2.4 KiB
HTML

<!--********************************************************************
* by jiawanlong
*********************************************************************-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="./../../libs/cesium/Cesium1.98/Widgets/widgets.css" />
<script type="text/javascript" src="./../../libs/cesium/Cesium1.98/Cesium.js"></script>
</head>
<body style="
margin: 0;
overflow: hidden;
background: #fff;
width: 100%;
height: 100%;
position: absolute; top: 0;
">
<div id="map" style="margin: 0 auto; width: 100%; height: 100%"></div>
<script type="text/javascript">
Cesium.Ion.defaultAccessToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyMjBhMzcxMC0wNjBiLTRmYjItYjY1MC0wMzAwMzMyMGUyMmEiLCJpZCI6MzAzNzc3LCJpYXQiOjE3NDc2Mzk0NTV9.E_90aKtVdzRGlU2z48VwJ4mWvl-uuDkfQBCOO6zbzn4";
const viewer = new Cesium.Viewer("map", {});
viewer.scene.debugShowFramesPerSecond = true;
viewer.scene.globe.depthTestAgainstTerrain = true;
//具体可见 cesium.com/learn/cesiumjs/ref-doc/Material.html
const MaterialType = "CustomMaterialType";
function CustomMaterialProperty(options) {
this._definitionChanged = new Cesium.Event();
//options参数接收材质参数
}
Object.defineProperties(CustomMaterialProperty.prototype, {
isConstant: {
get: function () {
return false;
},
},
definitionChanged: {
get: function () {
return this._definitionChanged;
},
},
});
CustomMaterialProperty.prototype.getType = function (time) {
return MaterialType;
};
CustomMaterialProperty.prototype.getValue = function (time, result) {
if (!Cesium.defined(result)) {
result = {};
}
//将材质参数设置到result对象后返回
return result;
};
CustomMaterialProperty.prototype.equals = function (other) {
return (
this === other || //
(other instanceof CustomMaterialProperty
//&& //判断两个材质对象是否相等 如果类型一致且参数都相同表示相等
)
);
};
</script>
</body>
</html>