CesiumJS 案例 P35:添加图片图层(添加图片数据)

CesiumJS

  • CesiumJS 是一个开源的 JavaScript 库,它用于在网页中创建和控制 3D 地球仪(地图)
  1. CesiumJS 官网:https://www.cesium.com/

  2. CesiumJS 下载地址:https://www.cesium.com/platform/cesiumjs/

  3. CesiumJS API 文档:https://cesium.com/learn/cesiumjs/ref-doc/index.html


添加图片图层(添加图片数据)

html 复制代码
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>ImageryProvider - 添加图片图层(添加图片数据)</title>
		<link rel="stylesheet" href="../js/Cesium-1.112/Build/Cesium/Widgets/widgets.css" />
		<style>
			* {
				margin: 0;
				padding: 0;
				box-sizing: border-box;
			}

			html,
			body {
				width: 100%;
				height: 100%;
			}

			.container {
				width: 100%;
				height: 100%;
			}
		</style>
	</head>

	<body>
		<div id="container"></div>
	</body>

	<script src="../js/Cesium-1.112/Build/Cesium/Cesium.js"></script>
	<script>
		const viewer = new Cesium.Viewer("container");

		const west = 0; // 西经(西经为负)
		const south = 0; // 南纬(南纬为负)
		const east = 10; // 东经(东经为正)
		const north = 10; // 北纬(北纬为正)

		imageToBase64("../img/test.jpg", (base64) => {

			// 创建图片图层
			const imageryProvider = new Cesium.SingleTileImageryProvider({
				url: base64,
				rectangle: Cesium.Rectangle.fromDegrees(west, south, east, north),
			});

            const imageryLayer = viewer.imageryLayers.addImageryProvider(imageryProvider);
		});

		function imageToBase64(url, callback) {
			const img = new Image();
			img.crossOrigin = "Anonymous";
			img.onload = function () {
				const canvas = document.createElement("canvas");
				const ctx = canvas.getContext("2d");
				canvas.width = img.width;
				canvas.height = img.height;
				ctx.drawImage(img, 0, 0);

				const base64 = canvas.toDataURL("image/jpeg");
				callback(base64);
			};
			img.src = url;
		}
	</script>
</html>
相关推荐
ShineWinsu6 小时前
对于JavaScript:初识JavaScript以及输入输出
java·开发语言·前端·javascript·css·面试·html
鲤鱼_5996 小时前
教培机构一体化运营管理系统操作手册
前端
小小安于乱6 小时前
linux中java的springboot程序获取IP地址间歇性10秒卡顿问题
java·开发语言
小白学大数据6 小时前
逆向分析短视频平台 a_bogus 参数:从 JavaScript 混淆到 Python 复现
javascript·python·音视频
鶴哥只手遮天6 小时前
React 19.3.1 源码深度剖析-第 3 章 Fiber 架构与双缓冲
前端·react.js·开源
鶴哥只手遮天6 小时前
React 19.3.1 源码深度剖析-第 9 章(下)lazy、retry、hydration 与实战
前端·react.js·开源
鶴哥只手遮天6 小时前
React 19.3.1 源码深度剖析-第 6 章 React DOM 渲染器与 Commit 阶段(把 Fiber 副作用落到真实 DOM)(上)
前端·react.js·开源
鶴哥只手遮天6 小时前
React 19.3.1 源码深度剖析-第 6 章 React DOM 渲染器与 Commit 阶段(把 Fiber 副作用落到真实 DOM)(下)
前端·react.js·开源
鶴哥只手遮天6 小时前
React 19.3.1 源码深度剖析-第 13 章:React 19 新特性深解
前端·react.js·开源
donk13146 小时前
React Native for OpenHarmony 实战:三方库 react-native-circular-action-menu 的鸿蒙化适配指南
javascript·分布式·react native·react.js·wpf·harmonyos