顯示源代碼
                積雪效果
                 開(kāi)發(fā)文檔
                            <!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"
                        />
                        <script src="/offline_data/snoweffect.js"></script>
                        <!-- dat.gui.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>
                            window.viewer = 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,
                                            });
                                            this.load3dtiles();
                                            const thickness = 0.8;
                                            const speed = 300;
                                            const density = 10;
                                            const snow = new SnowEffect({
                                                thickness,
                                                speed,
                                                density,
                                            });
                                            snow.addTo(viewer);
                                            this.initBase(snow);
                                        },
                                        //加載傾斜攝影效果
                                        load3dtiles() {
                                            let tilesets = new bmgl.BM3DTileset({
                                                url: "/offline_data/dayanta/tileset.json",
                                                maximumScreenSpaceError: 16,
                                            });
                                            tilesets.readyPromise
                                                .then(function (tileset) {
                                                    viewer.scene.primitives.add(tileset);
                                                    let default_HeadingPitchRange =
                                                        new bmgl.HeadingPitchRange(
                                                            0.0,
                                                            -0.5,
                                                            tileset.boundingSphere.radius * 2.0
                                                        );
                                                    viewer.zoomTo(
                                                        tileset,
                                                        default_HeadingPitchRange
                                                    );
                                                    let cartographic =
                                                        bmgl.Cartographic.fromCartesian(
                                                            tileset.boundingSphere.center
                                                        );
                                                    let delta_lng = 0,
                                                        delta_lat = 0;
                                                    let surface = bmgl.Cartesian3.fromRadians(
                                                        cartographic.longitude + delta_lng,
                                                        cartographic.latitude + delta_lat,
                                                        0.0
                                                    );
                                                    let offset = bmgl.Cartesian3.fromRadians(
                                                        cartographic.longitude + delta_lng,
                                                        cartographic.latitude + delta_lat,
                                                        -420.0
                                                    );
                                                    let translation = bmgl.Cartesian3.subtract(
                                                        offset,
                                                        surface,
                                                        new bmgl.Cartesian3()
                                                    );
                                                    tileset.modelMatrix =
                                                        bmgl.Matrix4.fromTranslation(
                                                            translation
                                                        );
                                                })
                                                .otherwise(function (error) {
                                                    console.log(error);
                                                });
                                        },
                                        //dat.gui
                                        initBase(snow) {
                                            var _this = this;
                                            let gui = new dat.GUI();
                                            gui.domElement.style =
                                                "position:absolute;top:10px;left:10px;";
                                            const object = {
                                                speed: 300,
                                                density: 10,
                                                thickness: 0.8,
                                                enable: true,
                                            };
                                            gui.add(object, "speed", 100, 500, 10)
                                                .name("速度")
                                                .onChange(function (val) {
                                                    snow.speed = val;
                                                });
                                            gui.add(object, "density", 2, 20, 1)
                                                .name("落雪大小")
                                                .onChange(function (val) {
                                                    snow.density = val;
                                                });
                                            gui.add(object, "thickness", 0, 1, 0.1)
                                                .name("積雪厚度")
                                                .onChange(function (val) {
                                                    snow.thickness = val;
                                                });
                                            gui.add(object, "enable")
                                                .name("顯示/隱藏")
                                                .onChange(function (val) {
                                                    snow.enabled = val;
                                                });
                                        },
                                    },
                                    beforeDestroy() {
                                        viewer.destroy();
                                        viewer = null;
                                    },
                                });
                            };
                        </script>
                    </body>
                </html>
                        
                主站蜘蛛池模板: 国产99久9在线视频| 在线视频你懂的国产福利| 亚洲国产精品一区二区九九| 美女网站色在线观看| 国产福利在线视频尤物tv| maomiav923| 日本亚洲精品色婷婷在线影院| 亚洲欧美日韩综合在线播放| 美国式禁忌三人伦| 国产成人精品一区二区三区无码 | 欧美孕交videosfree黑| 免费观看的黄色网址| 风间由美一区二区播放合集| 国产美女牲交视频| 一本一道久久综合狠狠老| 日韩在线你懂的| 亚洲国产精品综合久久网络| 穿透明白衬衫喷奶水在线播放| 国产亚洲精品精品国产亚洲综合| 1000部国产成人免费视频| 天天操2018| 中文www新版资源在线| 日韩内射美女片在线观看网站| 亚洲大片免费看| 特黄一级**毛片| 午夜精品久久久久久毛片| 韩国一级淫片漂亮老师| 国产精品v欧美精品∨日韩 | 欧美日韩国产亚洲人成| 免费免费啪视频在线| 色吊丝最新在线播放网站| 国产成人av一区二区三区在线观看| 337p欧洲亚洲大胆艺术| 大美女啪啪污污网站| 三级波多野结衣护士三级 | 性无码专区无码| 久久久噜久噜久久gif动图| 最近中文字幕免费mv视频8| 亚洲天堂电影在线观看| 浮力影院国产第一页| 免费的毛片网站|