首页 / 浏览问题 / 三维GIS / 问题详情
supermap怎么样我移动视角到哪里就显示xyz
22EXP 2020年07月20日
三维怎么移动视角左下角就显示xyz,一直没有找到,求解!!

1个回答

您好,您是希望在鼠标移动的过程中就显示出鼠标所在位置的经纬度和高程信息吗,您可以参考该示例代码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,就可以实现了。

1,545EXP 2020年07月20日
...