首页 / 浏览问题 / WebGIS / 问题详情
iClient3D-WebGL 3D切换2D地图,坐标怎么调整
5EXP 2024年11月20日

问题详细描述:页面上有 一个二三维地图切换的按钮,当地图切换到2D地图时,此时去获取camera的xyz的值,再去做定位,会飘到很远的地方去,2D坐标是经纬度的坐标吗?

if(scene) {
        let camera = {
            x:scene.camera.positionWC.x,
            y:scene.camera.positionWC.y,
            z:scene.camera.positionWC.z,
            heading:0,
            pitch:-Math.PI / 2,
            roll:0
        };
        goTo({position:camera})
    }

定位用的是new SuperMap3D.Cartesian3方法,那这时候,2D的xyz需要怎么处理才会被这个方法使用,才能定位正确

if(position){
        if(isSetView){
            scene.camera.setView({
            destination : new SuperMap3D.Cartesian3(position.x,position.y,position.z),
                orientation : {
                    heading : position.heading,
                    pitch : position.pitch,
                    roll : position.roll
                }
            });
            return;
        } 

1个回答

您好,

第一个问题,

webgl的二三维切换功能,只是切换了相机模式和场景模式,数据本身位置是没有改变的,

您的数据三维模式下在A点,在二维模式下同样在A点是不会跑的。

第二个问题,

您如果通过相机获取或设置坐标值,二维模式该坐标值是二维笛卡尔坐标系的,并不是经纬度坐标系,

三维模式是笛卡尔直角坐标系统,不是经纬度。

您可以参考:

http://support.supermap.com.cn:8090/webgl/examples/webgl/editor.html#sceneModeSwitching

希望可以帮助到您。

10,583EXP 2024年11月20日
...