铯 - 点击后,将地图指向标准标记,并带有图标

问题描述 投票:1回答:1

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

我已经尝试了几个不同的事情,取得了不同程度的成功,我在我的智慧结束。有没有人对我如何进行有一个很好的建议?

javascript maps cesium
1个回答
0
投票

有几种不同的方法可以做到这一点,一些是高级别的,一些是低级别的。高级别是最简单的,所以我会从那里开始。 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.pickscene.drillPickcamera.pickEllipsoid,它们提供了各种方法来检测特定屏幕位置存在的内容。这些函数通常是响应鼠标移动或点击或触摸/指针事件而调用的,以查看用户正在与之交互的内容。

© www.soinside.com 2019 - 2024. All rights reserved.