首页 / 浏览问题 / 三维GIS / 问题详情
viewer.scene.pick无法选中标注点
26EXP 2021年05月14日

viewer.scene.pick(movement.position)无法选中标注点,返回undefined

handler.setInputAction(function (movement) {      
  var pick = viewer.scene.pick(movement.position);
  //获取不到pick对象,显示undefined
}, Cesium.ScreenSpaceEventType.LEFT_CLICK); 

感觉像是点击标注点后,直接无视标注点反而选中了地面,请问这种情况怎么解决啊?谢谢。

1个回答

您好,scene.pick获取到的是坐标,如果要获取到选中的实体entity,可以写成

var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function (e) {
          console.log(viewer.selectedEntity,'selectedEntity')
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
1,545EXP 2021年05月14日

这么写也是返回undefined。

1.俯视视图角度(地面是背景时)点击击标注点报undefined

2.调整视图角度,平视时(让标注点高过地平线,天空是背景时)点击标注点,报错cartesian is required.

3.把地面隐藏后,俯视角度点击标注点也报错cartesian is required.

就这样的同一套代码,我们两个项目,其中一个项目可以正常加载,点击正常查到数据;另一个项目就选不中标注点,很奇怪啊。

在标注使用的坐标值参考都是WGS84坐标系。
方不方便留个QQ远程看一下
Q1246053598
已远程解决,数据问题,发布的二维面图层干扰。
非常感谢,满满一天的远程协助支持,再次感谢。
你好,请问一下这是怎么解决的,二纬面图层干扰问题,我现在遇到情况也是怎么点击都是获取到的json图层面,不论用pick还是drillPick,获取不到我primitive创建的车辆实体
...