顯示源代碼
                模型位置調整
                 開發文檔
                            <!DOCTYPE html>
                <html lang="en">
                    <head>
                        <meta charset="UTF-8" />
                        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
                        <script src="http://bigemap.com/offline_data/newjunbiao/vue.js"></script>
                        <link
                            href="http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/Widgets/widgets.css"
                            rel="stylesheet"
                        />
                        <script src="http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js"></script>
                        <!-- elementui -->
                        <script src="http://bigemap.com/offline_data/newjunbiao/elementui.js"></script>
                        <link rel="stylesheet" href="http://bigemap.com/offline_data/newjunbiao/elementui.css" />
                        <!-- 引入第三方的dat.gui.min.js -->
                        <script src="/offline_data/dat.gui.min.js"></script>
                        <title>模型調整樣式</title>
                        <style>
                            * {
                                margin: 0;
                                padding: 0;
                            }
                            html,
                            body {
                                width: 100%;
                                height: 100%;
                            }
                            #app {
                                width: 100%;
                                height: 100%;
                            }
                            #baseMap {
                                width: 100%;
                                height: 100%;
                            }
                            .tools {
                                position: absolute;
                                z-index: 9;
                                top: 40px;
                                right: 60px;
                                width: 200px;
                                height: 40px;
                                display: flex;
                                align-items: center;
                            }
                        </style>
                    </head>
                    <body>
                        <div id="app">
                            <div id="baseMap"></div>
                        </div>
                        <script>
                            let viewer = null;
                            let controlObj = {
                                lng: 104,
                                lat: 30,
                                height: 1000,
                                heading: 0,
                                pitch: 0,
                                roll: 0,
                                scale: 30,
                            };
                            let model = null;
                            window.onload = () => {
                                new Vue({
                                    el: "#app",
                                    data() {
                                        return {};
                                    },
                                    mounted() {
                                        this.initMap();
                                    },
                                    methods: {
                                        //初始化地圖
                                        initMap() {
                                            bmgl.Config.HTTP_URL = "http://ua.bigemap.com:30081/bmsdk/";
                                            viewer = new bmgl.Viewer("baseMap", {
                                                mapId: "bigemap.dc-satellite",
                                                infoBox: false,
                                                selectionIndicator: false,
                                                requestRenderMode: false,
                                            });
                                            //添加一個模型
                                            let modelPos = bmgl.Cartesian3.fromDegrees(
                                                controlObj.lng,
                                                controlObj.lat,
                                                controlObj.height
                                            );
                                            let modelHpr = new bmgl.HeadingPitchRoll(
                                                controlObj.heading,
                                                controlObj.pitch,
                                                controlObj.roll
                                            );
                                            model = viewer.entities.add({
                                                position: modelPos,
                                                orientation:
                                                    bmgl.Transforms.headingPitchRollQuaternion(
                                                        modelPos,
                                                        modelHpr
                                                    ),
                                                model: {
                                                    uri: "/offline_data/bmgl_Air.glb",
                                                    scale: controlObj.scale,
                                                },
                                            });
                                            viewer.zoomTo(model);
                                            this.load3dPancel();
                                        },
                                        //初始化三維編輯的控制面板
                                        load3dPancel() {
                                            var _this = this;
                                            let gui = new dat.GUI();
                                            gui.domElement.style =
                                                "position:absolute;top:10px;left:10px;";
                                            gui.add(controlObj, "lng", -180, 180)
                                                .name("經度")
                                                .onChange(function (value) {
                                                    _this.changePosition();
                                                });
                                            gui.add(controlObj, "lat", -90, 90)
                                                .name("緯度")
                                                .onChange(function (value) {
                                                    _this.changePosition();
                                                });
                                            gui.add(controlObj, "height", 100, 10000)
                                                .name("高度")
                                                .onChange(function (value) {
                                                    _this.changePosition();
                                                });
                                            gui.add(controlObj, "heading", 0, 360)
                                                .name("偏航角水平方向")
                                                .onChange(function (value) {
                                                    _this.changePosition();
                                                });
                                            gui.add(controlObj, "pitch", 0, 360)
                                                .name("俯仰角上下方向")
                                                .onChange(function (value) {
                                                    _this.changePosition();
                                                });
                                            gui.add(controlObj, "roll", 0, 360)
                                                .name("翻滾角側向方向")
                                                .onChange(function (value) {
                                                    _this.changePosition();
                                                });
                                            gui.add(controlObj, "scale", 1, 60)
                                                .name("模型大小縮放")
                                                .onChange(function (value) {
                                                    _this.changePosition();
                                                });
                                        },
                                        changePosition() {
                                            let position = bmgl.Cartesian3.fromDegrees(
                                                controlObj.lng,
                                                controlObj.lat,
                                                controlObj.height
                                            );
                                            let heading = bmgl.Math.toRadians(
                                                controlObj.heading
                                            );
                                            let pitch = bmgl.Math.toRadians(controlObj.pitch);
                                            let roll = bmgl.Math.toRadians(controlObj.roll);
                
                                            let hpr = new bmgl.HeadingPitchRoll(
                                                heading,
                                                pitch,
                                                roll
                                            );
                                            let orientation =
                                                bmgl.Transforms.headingPitchRollQuaternion(
                                                    position,
                                                    hpr
                                                );
                                            model.position = position;
                                            model.orientation = orientation;
                                            model.model.scale = controlObj.scale;
                                            viewer.flyTo(viewer.entities);
                                        },
                                    },
                                    beforeDestroy() {
                                        viewer.destroy();
                                        viewer = null;
                                    },
                                });
                            };
                        </script>
                    </body>
                </html>
                        
                主站蜘蛛池模板: 欧美性受xxxx| 亚洲激情综合网| 免费人成年激情视频在线观看| 偷偷狠狠的日日高清完整视频| 亚洲欧美日韩综合一区| 久久高清内射无套| 中文字幕亚洲综合久久男男| avhd101av高清迷片在线| 香蕉精品视频在线观看| 蜜桃成熟时1997在线观看在线观看| 精品国产A∨无码一区二区三区| 欧美色图一区二区| 日韩电影手机在线观看| 少妇无码太爽了在线播放| 国产精品欧美亚洲韩国日本| 国产一区二区三区在线观看视频| 免费高清a级毛片在线播放| 亚洲人成伊人成综合网久久久| 久久99国产亚洲精品观看| 97高清国语自产拍中国大陆| 香蕉视频在线精品| 狂野欧美激情性xxxx| 日韩一区二区三区免费体验| 在线视频网址免费播放| 国产免费无码一区二区| 亚洲精品欧美综合| 久久久久久亚洲av成人无码国产 | 亚洲免费小视频| 一级午夜a毛片免费视频| 精品第一国产综合精品蜜芽| 真实国产乱子伦在线观看| 日韩欧美国产电影| 在线亚洲小视频| 国产AV天堂无码一区二区三区| 亚洲午夜国产精品无码| yellow视频免费在线观看| 高潮videossex潮喷另类| 波多野结衣高清一区二区三区| 日批免费观看视频| 国产精品免费一级在线观看| 免费成人福利视频|