首页 / 浏览问题 / 三维GIS / 问题详情
测量距离不是我想要的样子
7EXP 2020年01月20日
代码如下:

var clampMode=0;
      handlerDis = new Cesium.MeasureHandler(viewer,Cesium.MeasureMode.Distance,clampMode);
      handlerDis.measureEvt.addEventListener(function(result){
        var dis = Number(result.distance);
        var distance = dis > 1000 ? (dis/1000).toFixed(2) + 'km' : dis.toFixed(2) + 'm';
        handlerDis.disLabel.text = '距离:' + distance;
      });
      handlerDis.activeEvt.addEventListener(function(isActive){
        if(isActive == true){
          viewer.enableCursorStyle = false;
          viewer._element.style.cursor = '';
          $('body').removeClass('measureCur').addClass('measureCur');
        }
        else{
          viewer.enableCursorStyle = true;
          $('body').removeClass('measureCur');
        }
      });

有2个问题,

1、比如我选择3个点,距离数会显示在第3个点上,我想在第2、3点上都显示。

2、长时间不操作,失效了。

1个回答

您好:

(1)这个是底层封装好的,如果您这边想要在每个点击的位置都能够显示出距离,那您这边可以自己写一个标签,在点击测量之后的位置上将值加在您这边需要放置的位置。

(2)您这边所说的失效,指的是操作其他功能之后,再点击量测功能的时候没有反应吗?您这边可以确认一下是哪个功能引起的,看一下是否2边编写的代码是否有不对应的地方
4,186EXP 2020年01月23日
...