javascript - 从脚本外部调用内部Cesium函数

标签 javascript html cesiumjs

我正在编写一个 cesium 应用程序,我想调用一个内部 cesium 函数来清除所有原语:

function clearAll() {
    primitives.removeAll();
}

当我按下按钮时。我知道 cesium 的内置工具栏按钮,但我想使用我已经有的 html 按钮来在单击时调用此函数。它位于:

<script>
require(['Cesium'], function(Cesium) {
    function clearAll() {
        //code here}
    });
</script>

如有任何帮助,我们将不胜感激!

最佳答案

看看我们的Billboards example的顶部。当构建 Cesium.Viewer 时,它提供对 viewer.scene.primitives 的访问,其中包括公共(public)的 .removeAll() 函数。

var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
var primitives = scene.primitives;

function reset() {
    primitives.removeAll();
}

正如 @Bergi 在评论中提到的,通常您不会将其与 onclick 连接起来,因为您需要访问诸如查看器实例之类的作用域变量。相反,为您的按钮提供一个 id 属性,并使用 addEventListener (或 jQuery)监听该范围内的按钮点击。

document.getElementById('myButtonId').addEventListener('click', function() {
    primitives.removeAll();
}, false);

关于javascript - 从脚本外部调用内部Cesium函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24660973/

相关文章:

javascript - 如何获得更准确的 lng 和 lat 结果

javascript - 当 Redux 状态改变时,React 不会重新渲染

html - 使用 ReactJS 的 IE 条件定位

json - 铯CZML模型: is it possible to define multiple clock intervals?

javascript - 铯地球聚类

javascript - 当单击单元格内的链接值发生变化时,如何动态更改表格行背景颜色

javascript - 我网站的导航栏按钮之一没有跳转到屏幕的正确部分

html - IE 中的文字过渡动画效果问题(不知道为什么) HTML+ CSS3

html - 如何使 JqueryUi Slider 垂直居中对齐?

javascript - 在 Cesium.js 中使用 GeoJsonDataSource 加载更新的数据