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>
相关推荐
烬羽几秒前
后端返回的 JSON 字符串,浏览器怎么"看懂"的?——Ajax 全链路拆解
javascript
tedcloud1237 分钟前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge
赴生-17 分钟前
C++进阶 异常
开发语言·c++
xinhuanjieyi21 分钟前
html修复游戏种太阳错误
前端·游戏·html
黄毛火烧雪下42 分钟前
Java 核心知识点总结(一)
java·开发语言
半个落月1 小时前
一个新手用 Bun + Axios 调通 DeepSeek API 的实践记录
javascript
其实防守也摸鱼1 小时前
软件安全与漏洞--软件安全编码与防御技术理论题库
开发语言·网络·安全·网络安全·软件安全·软件安全与漏洞
不好听6131 小时前
深入理解链表:线性数据结构的另一面
javascript·数据结构
x138702859571 小时前
c语言中srtlen(指针使用计算字符长度)、传值和传址调用
c语言·开发语言·算法·visual studio
林希_Rachel_傻希希1 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试