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

顯示源代碼
Primitive添加貼地多邊形
 開發文檔
            <!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>Primitive貼地多邊形</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,
                                terrainId:"bigemap.dc-terrain",
                            });
                            //創建路網相關的地圖圖層
                            let roadNet = new bmgl.ImageryLayer(
                                new bmgl.BMImageryProvider({
                                    mapId: "bigemap.dc-street",
                                })
                            );
                            // 將圖層疊加到地球上
                            viewer.imageryLayers.add(roadNet);
                            this.loadPolygons();
                        },
                        //從kml數據中獲取到經緯度
                        loadPolygons() {
                            //kml數據加載
                            let promise = bmgl.KmlDataSource.load("/offline_data/fh.kml");
                            promise.then((dataSource) => {
                                let eneArr = dataSource.entities.values;
                                let allPolygon = [];
                                eneArr.forEach((v, i) => {
                                    // console.log(`aaaa`,v,i);
                                    if (v.polygon) {
                                        // console.log("good",v,i);
                                        let pos =
                                            v.polygon.hierarchy.getValue()
                                                .positions;
                                        // console.log(pos,i);
                                        let arr = [];
                                        pos.forEach((v, i) => {
                                            let pos =
                                                bmgl.Cartographic.fromCartesian(
                                                    v
                                                );
                                            let lng = bmgl.Math.toDegrees(
                                                pos.longitude
                                            );
                                            let lat = bmgl.Math.toDegrees(
                                                pos.latitude
                                            );
                                            arr.push([lng, lat]);
                                        });
                                        allPolygon.push(arr);
                                    }
                                });
                                this.creatRiver(allPolygon);
                            });
                        },
                        //創建貼地的多邊形
                        creatRiver(arr) {
                            let instances = [];
                            arr.forEach((v, i) => {
                                let polygon1 = new bmgl.PolygonGeometry({
                                    polygonHierarchy: new bmgl.PolygonHierarchy(
                                        bmgl.Cartesian3.fromDegreesArray(
                                            v.flat()
                                        )
                                    ),
                                    extrudedHeight: 0,
                                    height: 0,
                                    vertexFormat:
                                        bmgl.EllipsoidSurfaceAppearance
                                            .VERTEX_FORMAT,
                                });

                                let River1 = new bmgl.GroundPrimitive({
                                    geometryInstances:
                                        new bmgl.GeometryInstance({
                                            geometry: polygon1,
                                        }),
                                    appearance:
                                        new bmgl.EllipsoidSurfaceAppearance({
                                            aboveGround: true,
                                        }),
                                    show: true,
                                });
                                //設置多邊形材質
                                let River1_Material = new bmgl.Material({
                                    fabric: {
                                        type: "Water",
                                        uniforms: {
                                            normalMap: "/offline_data/water.jpg",
                                            frequency: 100.0,
                                            animationSpeed: 0.01,
                                            amplitude: 10.0,
                                        },
                                    },
                                });
                                let scene = viewer.scene;
                                River1.appearance.material = River1_Material;
                                scene.primitives.add(River1); //添加到場景
                            });
                            viewer.camera.setView({
                                destination: bmgl.Cartesian3.fromDegrees(
                                    112.39700317,
                                    37.6209621,
                                    10000
                                ),
                            });
                        },
                    },
                    beforeDestroy() {
                        viewer.destroy();
                        viewer = null;
                    },
                });
            };
        </script>
    </body>
</html>
        
主站蜘蛛池模板: 美女扒开腿让男人桶爽动态图片 | 国产日韩一区二区三区 | 美女扒开屁股让我桶免费 | 337p大尺度啪啪人体午夜2020 | 亚洲欧洲日产国码无码av | 免费在线观看视频 | 美女和男人免费网站视频 | 色五月天天 | 欧美久久天天综合香蕉伊 | 99国产精品免费视频 | 男人天堂新 | 99在线精品免费视频 | 久久福利影院 | 色婷婷久久综合中文久久一本` | 国产欧美日韩专区 | 亚洲可乐操 | 91视频www | 日本 在线观看 | 精品无码久久久久久久动漫 | 99热自拍| 国产精品福利在线观看入口 | 女bbbbxxxx视频| 四虎伊人| 99年水嫩漂亮粉嫩在线播放 | 日本b站一卡二不卡三卡四卡 | 好男人好资源在线观看免费 | 黄色a∨| 日韩精品成人 | 免费xxxxx大片在线观看影视 | 天天色国产 | 1024国产精品视频观看 | 草莓视频在线观看免费 | 日韩成人小视频 | 欧美日韩国产亚洲一区二区 | 猫咪社区免费资源在线观看 | 亚洲国产精品无圣光一区二区 | 五月天精品视频播放在线观看 | 特级老女人淫片高清视频 | 欧美日韩一区二区中文字幕视频 | 午夜亚洲精品久久久久久 | 亚洲丰满女人ass硕大 |