Cesium-Examples/examples/cesiumEx/7.4.1、polygon.html
2025-11-26 14:20:25 +08:00

71 lines
2.5 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">
const viewer = new Cesium.Viewer('map', {
imageryProvider: false,
baseLayerPicker: false,
});
var xyz = new Cesium.UrlTemplateImageryProvider({
"url": '//data.mars3d.cn/tile/img/{z}/{x}/{y}.jpg'
})
viewer.imageryLayers.addImageryProvider(xyz)
// -------------------------------------------------------------------Material----------------------------------------------------------------------
// 使用Fabric JSON定义材质
const material = new Cesium.Material({
fabric: {
type: "Color", // 内置材质类型
uniforms: {
color: new Cesium.Color(1.0, 1.0, 0.0, 1.0) // 黄色
}
}
});
// 或使用内置简写
// const material = Cesium.Material.fromType("Color", {
// color: Cesium.Color.RED
// });
const primitive = new Cesium.Primitive({
geometryInstances: new Cesium.GeometryInstance(
{
id: 'polygon',
geometry: new Cesium.PolygonGeometry({
polygonHierarchy: new Cesium.PolygonHierarchy(
Cesium.Cartesian3.fromDegreesArray([
-115.0, 37.0,
-115.0, 32.0,
-102.0, 31.0,
-102.0, 35.0
])
),
})
}
),
appearance: new Cesium.MaterialAppearance({
material: material
})
});
viewer.scene.primitives.add(primitive);
// -------------------------------------------------------------------Material----------------------------------------------------------------------
</script>
</body>
</html>