getBaseUri()
是 Cesium.js 库中的一个函数,在任何 CESIUM 应用程序中都可以使用。该函数返回当前网页中 Cesium 库的基础路径。
Cesium.getBaseUri();
返回一个字符串,表示当前网页中 Cesium 库的基础路径。
通常情况下,如要使用外部资源(如图像或 glTF 模型)或引用 Cesium 库的额外文件(如 CSS 样式表),您需要使用相对路径或绝对路径指定路径。然而,如果您需要在多个位置使用文件(例如使用 Webpack 构建的应用程序),那么基础路径将会是不同的。
为了解决这个问题,可以使用 getBaseUri()
函数获得当前网页中 Cesium 库的基础路径,然后在对路径进行操作之前将其添加到所有文件路径中。这样做可以保证文件在整个应用程序中的相对路径始终是正确的,即使应用程序在不同的位置部署也没有问题。
下面是一个示例,如何使用 getBaseUri()
函数获取基础路径并将其应用于文件路径:
var baseUri = Cesium.getBaseUri();
var imgPath = baseUri + 'images/myImage.png';
var modelPath = baseUri + 'models/myModel.glb';
var cssPath = baseUri + 'css/myStyles.css';
下面是一个示例,演示如何使用 getBaseUri()
函数获取基础路径,并将其用于引用 CESIUM 库中的 CSS 样式表:
<!DOCTYPE html>
<html>
<head>
<title>Cesium Example - Get Base URI</title>
<link href="https://unpkg.com/cesium/Build/Cesium/Widgets/widgets.css" rel="stylesheet"/>
<script src="https://unpkg.com/cesium/Build/Cesium/Cesium.js"></script>
<script>
function init() {
var baseUri = Cesium.getBaseUri();
var cssPath = baseUri + 'Widgets/widgets.css';
var cssElement = document.createElement('link');
cssElement.rel = 'stylesheet';
cssElement.href = cssPath;
document.head.appendChild(cssElement);
}
</script>
</head>
<body onload="init()">
<div id="cesiumContainer"></div>
<script>
var viewer = new Cesium.Viewer('cesiumContainer');
</script>
</body>
</html>
如果在不支持此函数的网页上使用此函数,则会引发异常。 如果无法确定基础路径,则返回空字符串。