gpt4 book ai didi

javascript - Cesium——点击时,将 map 点更改为带有图标的标准标记

转载 作者:行者123 更新时间:2023-11-28 03:50:45 25 4
gpt4 key购买 nike

我正在尝试模仿在 Cesium 中使用 Waze LiveMap ( https://www.waze.com/livemap ) 所看到的功能。单击某个点时,它会转换为带有图标的标记。

我尝试了一些不同的事情,取得了不同程度的成功,但我却束手无策。有人对我如何进行有好的建议吗?

最佳答案

有几种不同的方法可以做到这一点,一些是高级的,一些是低级的。高级级别是最简单的,所以我将从那里开始。当 Cesium Viewer 自己的选择发生变化时,它会触发一个名为 selectedEntityChanged 的事件,您可以将其连接起来以打开和关闭广告牌显示标志。

Here's a demo 。对于这个演示,我采用了原始的map pins demo并添加了一些代码行:我在开始时关闭了所有广告牌的 show 标志,我添加了点来代替现在隐藏的广告牌,并将以下代码块添加到选择时切换广告牌显示标志,如下所示:

var lastSelectedPin;
viewer.selectedEntityChanged.addEventListener(function(newEntity) {
if (lastSelectedPin && lastSelectedPin.billboard) {
lastSelectedPin.billboard.show = false;
}
lastSelectedPin = newEntity;
if (lastSelectedPin && lastSelectedPin.billboard) {
lastSelectedPin.billboard.show = true;
}
});

这使用了Cesium Viewer自己的选择系统,但会切换广告牌显示标志在选择时出现,在取消选择时消失。

或者,您可以深入研究Cesium的较低级别以进行更精细的控制,但学习曲线会更长。 Picking Demo展示了几种类型的拣选操作,包括 scene.pick , scene.drillPick ,和 camera.pickEllipsoid ,它提供了各种方法来检测特定屏幕位置存在哪些内容。通常,这些函数是为了响应鼠标移动或单击或触摸/指针事件而调用的,以查看用户正在与之交互的内容。

关于javascript - Cesium——点击时,将 map 点更改为带有图标的标准标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48010834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com