首页 / 浏览问题 / 三维GIS / 问题详情
webgl实现flyto
84EXP 2018年06月08日
webgl三维开发,已知一经纬度坐标,怎么通过viewer.camera.flyTo功能飞行定位

1个回答

您好,可以参考API中范例代码

// 1. 飞向通过top-down视图表示的位置
viewer.camera.flyTo({
    destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)
});

// 2. 飞向通过top-down视图表示的矩形
viewer.camera.flyTo({
    destination : Cesium.Rectangle.fromDegrees(west, south, east, north)
});

// 3. 飞向利用单位向量表示方向(orientatin)的位置
viewer.camera.flyTo({
    destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),
    orientation : {
        direction : new Cesium.Cartesian3(-0.04231243104240401, -0.20123236049443421, -0.97862924300734),
        up : new Cesium.Cartesian3(-0.47934589305293746, -0.8553216253114552, 0.1966022179118339)
    }
});

// 4. 飞向利用方位角(heading)、俯仰角(pitch)、滚动角(roll)表示方向(orientatin)的位置
viewer.camera.flyTo({
    destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),
    orientation : {
        heading : Cesium.Math.toRadians(175.0),
        pitch : Cesium.Math.toRadians(-35.0),
        roll : 0.0
    }
});

5,985EXP 2018年06月08日

您好!  我利用的是下列定位,后面填写的是经纬度坐标(116.03948,28.6759,10000),却不能定位!! 这是为何

// 1. 飞向通过top-down视图表示的位置
viewer.camera.flyTo({
    destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)
});

你做断点看看,代码走到这一步了吗

走到这一步了,但是报错

我们所有范例几乎都有定位功能,你直接找个范例替换url,替换相机参数呢,http://support.supermap.com.cn:8090/webgl/examples/examples.html#layer

定位方法可以用 scene.camera.setView({
                   destination : Cesium.Cartesian3.fromDegrees(13.0353,47.8084,100.0),
                    orientation:{
                        heading:0.7272,
                        pitch:-0.2672,
                        roll:0
                    }
                })

我了解   但是我想要达到飞到定位点那种效果, 我不了解方法上的坐标是什么形式的坐标,比如有正有负 ,麻烦指教下

destination : Cesium.Cartesian3.fromDegrees(13.0353,47.8084,100.0),

这样里面坐标就是经纬度啊。没啥问题,主要你看看报错,错误信息是你填的经纬度有问题。
...