亚洲动漫在线观看-亚洲动漫第一页-亚洲丁香婷婷-亚洲丶国产丶欧美一区二区三区-亚洲第一综合网站-亚洲第一永久色

顯示源代碼
視角書簽
 開發文檔
            <!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: 400px;
                height: 660px;
                display: flex;
                flex-direction: column;
                background: rgba(0, 0, 0, 0.4);
                box-shadow: 0 3px 14px rgba(128, 128, 128, 0.5);
                padding-top: 4px;
                justify-content: center;
                border-radius: 4px;
                /* align-items: center; */
            }
            .box {
                width: 360px;
                margin: 0 20px;
                height: 600px;
                border: 1px solid white;
                margin-top: 6px;
                overflow-y: auto;
                display: flex;
                flex-direction: column;
                box-sizing: border-box;
                padding-top: 4px;
                /* justify-content: center; */
            }
            .box .item {
                width: 320px;
                height: 160px;
                display: flex;
                justify-content: center;
                margin-left: 15px;
                margin-bottom: 4px;
                border-radius: 2px;
                border: 2px solid white;
                padding: 2px;
                position: relative;
            }
            .item .de {
                position: absolute;
                top: 4px;
                right: 6px;
                background: url("/offline_data/delete.png") no-repeat;
                background-size: 100% 100%;
                width: 16px;
                height: 16px;
                cursor: pointer;
                z-index: 9999;
            }
            .item .name {
                position: absolute;
                color: white;
                font-family: "楷體";
                bottom: 2px;
                left: 2px;
            }
        </style>
    </head>
    <body>
        <div id="app">
            <div class="tools">
                <div class="top" style="display: flex; justify-content: center">
                    <el-button
                        type="primary"
                        size="small"
                        style="width: 200px; margin-left: 10px; height: 30px"
                        @click="setbookMark"
                        >點擊將當前位置作為視角書簽記錄</el-button
                    >
                </div>
                <div class="box">
                    <div
                        class="item"
                        v-for="(item,index) in sjsq"
                        :key="item.img"
                        @click="setCameraView(index)"
                    >
                        <img
                            :src="item.img"
                            style="width: 98%; height: 98%"
                            title="點擊可以跳轉到對應位置"
                        />
                        <h5 class="name">{{item.name}}</h5>
                        <h5 class="de" @click="deleteItem(index)"></h5>
                    </div>
                </div>
            </div>
            <div id="baseMap"></div>
        </div>
        <script>
            window.viewer = null;
            window.onload = () => {
                new Vue({
                    el: "#app",
                    data() {
                        return {
                            sjsq: [],
                        };
                    },
                    mounted() {
                        this.$nextTick(()=>{
                            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,
                            });
                            viewer.camera.setView({
                                destination: bmgl.Cartesian3.fromDegrees(
                                    104.05,
                                    30.5,
                                    20000.0
                                ),
                                orientation: {
                                    heading: bmgl.Math.toRadians(15.0),
                                    pitch: bmgl.Math.toRadians(-60),
                                    roll: 0.0,
                                },
                            });
                        },
                        setCameraView(index) {
                            let data = this.sjsq[index];
                            if (data == undefined) return;
                            viewer.camera.flyTo(data.posOptions);
                        },
                        setbookMark() {
                            // 渲染當前場景,將其轉換為圖片
                            viewer.scene.render();
                            let dataUrl =
                                viewer.scene.canvas.toDataURL("image/png");
                            let url = dataUrl;
                            let lth = this.sjsq.length;
                            this.sjsq.push({
                                img: url,
                                name: `視角書簽${lth + 1}號`,
                                posOptions: this.getNowPos(),
                            });
                        },
                        //獲取當前的鏡頭位置
                        getNowPos() {
                            let view = {};

                            let p = bmgl.Cartographic.fromCartesian(
                                viewer.camera.position
                            );
                            view.destination = {
                                lng: bmgl.Math.toDegrees(p.longitude),
                                lat: bmgl.Math.toDegrees(p.latitude),
                                height: p.height,
                            };
                            view.orientation = {
                                heading: viewer.camera.heading,
                                roll: viewer.camera.roll,
                                pitch: viewer.camera.pitch,
                            };
                            console.log(view);
                            return {
                                destination: bmgl.Cartesian3.fromDegrees(
                                    view.destination.lng,
                                    view.destination.lat,
                                    view.destination.height
                                ),
                                orientation: view.orientation,
                                duration: 5.0,
                            };
                        },
                        deleteItem(index) {
                            this.sjsq.splice(index, 1);
                        },
                    },
                    beforeDestroy() {
                        viewer.destroy();
                        viewer = null;
                        this.sjsq = [];
                    },
                });
            };
        </script>
    </body>
</html>
        
主站蜘蛛池模板: 蜜桃成熟时1997在线看免费看 | 免费港剧在线观看港剧 | 日本哺乳期网站xxxx | 国语视频高清在线观看 | 日本videossexx日本人 | 日本免费三片在线观看 | 俄罗斯激情性孕妇孕交大全 | 国产一区二区视频免费 | 国产日本欧美亚洲精品视 | 草逼视频网址 | 精品无人区麻豆乱码1区2 | 99久久国产综合精品麻豆 | 日本伊人久久 | 探花国产 | 手机看片国产免费久久网 | 日本十大顶级绝伦推理片 | 亚洲AV蜜桃永久无码精品红樱桃 | 特黄特色大片免费视频大全 | 国产欧美日韩精品一区二区三区 | 人成网站在线观看 | 久久午夜夜伦痒痒想咳嗽P 久久无码AV亚洲精品色午夜麻豆 | 波多野结衣中文丝袜字幕 | 五月天国产精品 | 日韩a无吗一区二区三区 | 日韩高清无砖砖区2022 | 国产精品久久久久影院色老大 | 日本一卡二卡3卡四卡无卡网址 | 久久理论片 | 欧美激情影音先锋 | 成人精品一区二区三区中文字幕 | 精品亚洲欧美中文字幕在线看 | 法国女佣系列在线播放 | 日本高清在线播放 | 亚洲天堂99| 欧美日一级片 | 九九精品视频在线观看九九 | 久青草国产观看在线视频 | 成人亚洲欧美日韩中文字幕 | 精品久久久久久久久免费影院 | 999热在线精品观看全部 | 欧美va在线高清 |