function chooseview(){
	clearTop();
	
	if(!viewer.scene.pickPositionSupported){
        alert('不支持深度纹理,通视分析功能无法使用(无法添加观测点目标点)!');
    }
	
	if(pointHandler.active) {
        return;
    }
    scene.viewFlag = true;
    viewer.entities.removeAll();
    if(sightline.couldRemove) {
        sightline.removeAllTargetPoint();
    }
    pointHandler.activate();
    
    //通视分析监听
    pointHandler.drawCompletedEvent.addEventListener(function(point){
        var position = point.position._value;
        //将获取的点的位置转化成经纬度
        var cartographic = Cesium.Cartographic.fromCartesian(position);
        var longitude = Cesium.Math.toDegrees(cartographic.longitude);
        var latitude = Cesium.Math.toDegrees(cartographic.latitude);
        var height = cartographic.height;
        if(scene.viewFlag) {
            //设置视口位置
            sightline.viewPosition = [longitude, latitude, height];
            scene.viewFlag = false;
        }else {
            viewer.entities.remove(point);
            //添加视点
            sightline.addTargetPoint({
                position : [longitude, latitude, height],
                name : "point" + new Date()
            });
            
            sightline.couldRemove = true;
        }
        //构建通视分析
        sightline.build();
    });
}
添加观察位置代码如上,具体操作是:点击一下添加观察点位置,添加没问题,也可以进行正常的通视分析。但是如果添加过一次观察点,再一次点添加观察点,则后台会报错,如图。
 场景界面也是如此
场景界面也是如此
