首页 / 浏览问题 / 三维GIS / 问题详情
鼠标经过获取标牌下方的正方形
14EXP 2023年10月12日
使用产品:超图cesium 操作系统 win10 x64

数据类型 不清楚

问题详细描述: 业务场景是鼠标经过多边形高亮。多边形中间有个标牌,导致鼠标经过标牌并没有获取到多边形。我试着把标牌放到多边形下方确实可以。但是标牌就看不到了。

问题重现步骤:鼠标经过多边形因为标牌的原因获取不到多边形

1个回答

你好,请问多边形是通过entiy还是Primitivet添加的?

标牌和多边形是有层级关系,哪个对象在顶层,获取的就是哪个对象。可以看一下你所使用的鼠标事件返回的对象中是否有包含多个,如果有可以做一个过滤显示。

或者,添加一个变量用于标识鼠标经过多边形,一旦变量有值,再手动高亮多边形。
1,865EXP 2023年10月12日

多边形是new Cesium.GeoJsonDataSource.load加载完让后window.viewer.dataSources.add的。 标牌是primitives。

鼠标点击只能获取到一个。谁的 z值高就获取到谁

添加一个变量用于标识鼠标经过多边形,一旦变量有值,再手动高亮多边形。这个我没太理解

题中的业务场景是标牌在上,多边形在下,两者是上下叠加关系,鼠标事件获取到的是位于顶层的。在初始化场景时,此时添加一个状态变量,例如:let status=false,标牌在多边形上放,可能就先获取标牌,鼠标如果识别到标牌,此处修改status=true,再由一个判断语句,if(status){//高亮多边形}else{//其他}。
...