如何在 Cesium 中鼠标悬停时更改多边形的颜色?
How can I change the color of a polygon on mouse hover in Cesium?
我需要在鼠标悬停时突出显示多边形,并在鼠标移出多边形后恢复其颜色和外观。
我尝试使用 ScreenSpaceEventType.MOUSE_MOVE
事件处理程序进行此操作,但在这种情况下,当鼠标移出多边形时,我无法恢复外观。
我试过了https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Apps/Sandcastle/gallery/Polygons.html (http://cesiumjs.org/Cesium/Apps/Sandcastle/gallery/polygons.html)
Sancastle 中的此文件。它有像 // For highlighting on mouseover in Sandcastle.
这样的内嵌注释
但它没有按预期工作。
在cesium中有什么方法可以做到这一点吗?还是我遗漏了什么?
查看 Sandcastle 中的 "Picking" example,然后单击显示 "Drill-down picking."
的按钮
有多种方法可以完成您所描述的内容,但上面的演示使用了 Cesium CallbackProperty 并提供了一个回调,该回调将 return 多边形的正常颜色或高亮颜色,取决于 "picked" 状态。请注意,使用此方法可以同时拾取多个重叠的多边形。
然后鼠标移动处理程序只控制 pickedEntities
列表的成员资格,多边形会根据它们在该列表中的成员资格为自己选择合适的颜色。
我需要在鼠标悬停时突出显示多边形,并在鼠标移出多边形后恢复其颜色和外观。
我尝试使用 ScreenSpaceEventType.MOUSE_MOVE
事件处理程序进行此操作,但在这种情况下,当鼠标移出多边形时,我无法恢复外观。
我试过了https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Apps/Sandcastle/gallery/Polygons.html (http://cesiumjs.org/Cesium/Apps/Sandcastle/gallery/polygons.html)
Sancastle 中的此文件。它有像 // For highlighting on mouseover in Sandcastle.
但它没有按预期工作。
在cesium中有什么方法可以做到这一点吗?还是我遗漏了什么?
查看 Sandcastle 中的 "Picking" example,然后单击显示 "Drill-down picking."
的按钮有多种方法可以完成您所描述的内容,但上面的演示使用了 Cesium CallbackProperty 并提供了一个回调,该回调将 return 多边形的正常颜色或高亮颜色,取决于 "picked" 状态。请注意,使用此方法可以同时拾取多个重叠的多边形。
然后鼠标移动处理程序只控制 pickedEntities
列表的成员资格,多边形会根据它们在该列表中的成员资格为自己选择合适的颜色。