首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用selectedEntity选择实体?

如何使用selectedEntity选择实体?
EN

Stack Overflow用户
提问于 2022-09-07 18:50:29
回答 1查看 62关注 0票数 1

我正在尝试使用selectedEntity选择一个实体。我就是这样做的

代码语言:javascript
运行
复制
btn.onclick = function() {
                for (var i in viewer.dataSources._dataSources) { 
                    if (viewer.dataSources._dataSources[i].name == btns_class[j].value){
                        viewer.selectedEntity = viewer.dataSources._dataSources[i]
                        viewer.zoomTo(viewer.dataSources._dataSources[i])
                    } 
                }
            }

但我没有得到我想要的,对象仍然没有选择。如何选择对象?

以下是我所拥有的:

这就是我想要的:

EN

回答 1

Stack Overflow用户

发布于 2022-09-08 20:53:32

在铯中,dataSources是实体的集合。您不能将selectedEntity设置为一个完整的dataSource,而是必须从dataSource中只选择一个实体。因此,这一行是主要的问题:

代码语言:javascript
运行
复制
viewer.selectedEntity = viewer.dataSources._dataSources[i]

此外,_下划线前缀表示铯的“私有”变量。理想情况下,人们应该避免在生产代码中使用这些代码,因为在不同版本的铯之间,它们可能会在没有警告的情况下改变。

例如,它将找到命名的dataSource并选择集合中的第一个实体:

代码语言:javascript
运行
复制
var dataSource = viewer.dataSources.getByName(btns_class[j].value)[0];
if (Cesium.defined(dataSource)) {
    viewer.selectedEntity = dataSource.entities.values[0];
}

另外,如果您想让相机聚焦到实体上,您可能希望将viewer.trackedEntity设置为同一个实体。这类似于铯中的双击操作,其中selectedEntitytrackedEntity都设置为目标对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73640258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档