显示源代码
旋转地球
 开发文档
            <!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" />
        <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 class="tools">
                <el-button type="danger" size="small" @click="stopRotate"
                    >停止旋转</el-button
                >
                <el-button type="primary" size="small" @click="startRoate"
                    >开始旋转</el-button
                >
            </div>
            <div id="baseMap"></div>
        </div>
        <script>
            window.viewer = null;
            let rotateEventListener = 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-tian-w-satellite",
                                infoBox: false,
                                selectionIndicator: false,
                                requestRenderMode: false,
                            });
                            this.startRoate();
                        },
                        startRoate() {
                            if (rotateEventListener != null) return;
                            let a = viewer.clock.currentTime.secondsOfDay;
                            rotateEventListener = function (e) {
                                var i = viewer.clock.currentTime.secondsOfDay,
                                    t = ((i - a) / 1e3) * 0.4;
                                a = i;
                                viewer.scene.camera.rotate(
                                    bmgl.Cartesian3.UNIT_Z,
                                    1 * t
                                );
                            };
                            viewer.clock.multiplier = 600;
                            viewer.clock.shouldAnimate = true;
                            viewer.clock.onTick.addEventListener(
                                rotateEventListener
                            );
                        },
                        stopRotate() {
                            if (rotateEventListener != null) {
                                viewer.clock.onTick.removeEventListener(
                                    rotateEventListener
                                );
                                rotateEventListener = null;
                            } else {
                                return;
                            }
                        },
                    },
                    beforeDestroy() {
                        viewer.destroy();
                        viewer = null;
                    },
                });
            };
        </script>
    </body>
</html>