supermap怎么样我移动视角到哪里就显示xyz

0 投票
三维怎么移动视角左下角就显示xyz,一直没有找到,求解!!
7月 20 分类:  41次浏览 | 用户: ckkkkkkk 初出茅庐 (22 分)
重新显示 7月 21 用户:KeineAhnung

1个回答

0 投票

您好,您是希望在鼠标移动的过程中就显示出鼠标所在位置的经纬度和高程信息吗,您可以参考该示例代码http://support.supermap.com.cn:8090/webgl/examples/editor.html#pickPosition。想要实现移动效果的话,您需要将下段关键代码

 //设置鼠标左键单击回调事件
    handler.setInputAction(function(e) {
        //首先移除之前添加的点
        viewer.entities.removeAll();
        //获取点击位置笛卡尔坐标
       var position = e.endPosition;
                var last = scene.pickPosition(position);
        

        //将笛卡尔坐标转化为经纬度坐标
        var cartographic = Cesium.Cartographic.fromCartesian(last);
        var longitude = Cesium.Math.toDegrees(cartographic.longitude);
        var latitude = Cesium.Math.toDegrees(cartographic.latitude);
        var height = cartographic.height;
        if(height < 0) {
            height = 0;
        }

        //创建弹出框信息
        var entity = new Cesium.Entity({
            name : "位置信息",
            description : createDescription(Cesium, [longitude, latitude, height])
        });
        viewer.selectedEntity = entity;

            //在点击位置添加对应点
            viewer.entities.add(new Cesium.Entity({
                point : new Cesium.PointGraphics({
                    color : new Cesium.Color(1, 1, 0),
                    pixelSize : 10,
                    outlineColor : new Cesium.Color(0, 1, 1)
                }),
                position : Cesium.Cartesian3.fromDegrees(longitude, latitude , height + 0.5)
            }));
    }, Cesium.ScreenSpaceEventType.LEFT_CLICK);   

 该事件中的鼠标左击回调事件改为移动回调事件,即LEFT_CLICK改为MOUSE_MOVE,就可以实现了。

7月 20 用户: KeineAhnung 学富五车 (710 分)
...