顯示源代碼
                泰森多邊形
                 開發文檔
                            <!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/turf.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,
                                            });
                                            if (
                                                bmgl.FeatureDetection.supportsImageRenderingPixelated()
                                            ) {
                                                viewer.resolutionScale =
                                                    window.devicePixelRatio;
                                            }
                                            //開啟抗鋸齒,讓圖像更加順滑
                                            viewer.scene.postProcessStages.fxaa.enabled = true;
                                            this.loadTsPolygons();
                                        },
                                        loadTsPolygons() {
                                            var _this = this;
                                            const options = {
                                                bbox: [102.991, 30.092, 104.895, 31.438],
                                            };
                                            const points = turf.randomPoint(40, options);
                                            console.log(points, "Points");
                                            let pt = points.features;
                                            pt.forEach((v, i) => {
                                                let pos = v.geometry.coordinates;
                                                viewer.entities.add({
                                                    position: bmgl.Cartesian3.fromDegrees(
                                                        ...pos
                                                    ),
                                                    billboard: {
                                                        image: "/offline_data/img12.png",
                                                        width: 32,
                                                        height: 32,
                                                    },
                                                    label:{
                                                        text:`點位${i+1}`,
                                                        pixelOffset:new bmgl.Cartesian2(0,-32),
                                                        font:"16px 宋體",
                                                        fillColor:bmgl.Color.AQUA,
                
                                                    }
                                                });
                                            });
                                            const voronoiPolygons = turf.voronoi(
                                                points,
                                                options
                                            );
                                            console.log(voronoiPolygons, "polygons");
                                            let fs = voronoiPolygons.features;
                                            fs.forEach((v, i) => {
                                                let pos = v.geometry.coordinates[0];
                                                viewer.entities.add({
                                                    polygon: {
                                                        hierarchy: new bmgl.PolygonHierarchy(
                                                            bmgl.Cartesian3.fromDegreesArray(
                                                                pos.flat()
                                                            )
                                                        ),
                                                        material: bmgl.Color.fromCssColorString(
                                                            _this.getRandomHexColor()
                                                        ).withAlpha(0.8),
                                                    },
                                                });
                                            });
                                            viewer.flyTo(viewer.entities);
                                        },
                                        getRandomHexColor() {
                                            const randomValue = Math.floor(
                                                Math.random() * 0xffffff
                                            );
                                            const hexColor = randomValue
                                                .toString(16)
                                                .padStart(6, "0");
                                            return `#${hexColor}`;
                                        },
                                    },
                                    beforeDestroy() {
                                        viewer.destroy();
                                        viewer = null;
                                    },
                                });
                            };
                        </script>
                    </body>
                </html>
                        
                主站蜘蛛池模板: 色天天综合久久久久综合片| 一个人晚上睡不着看b站大全| 特黄特色大片免费播放| 国产成人AV免费观看| 99re视频精品全部免费| 无码天堂va亚洲va在线va| 亚洲国产成人91精品| 男男车车的车车网站免费| 国产午夜鲁丝片av无码免费| 777米奇色狠狠888俺也去乱| 性欧美大战久久久久久久久| 久久精品国产亚洲AV天海翼 | 天天色天天射天天干| 久久久久久国产精品免费无码| 欧美人体一区二区三区| 免费a级毛视频| 老子影院理论片在线观看| 国产成人精品免费视频大全办公室| 91高端极品外围在线观看| 小娇乳H边走边欢1V1视频国产| 久久人人爽人人爽大片aw| 欧美xxxx狂喷水| 亚洲欧美日韩精品久久亚洲区| 精品一区二区三区av天堂| 国产一级做a爰片久久毛片男| 成人观看网站a| 国产精品你懂得| 999国产精品999久久久久久| 好妈妈5高清中字在线观看| 中文字幕在线无码一区二区三区| 日韩欧美在线视频| 亚洲人成无码网站| 欧美色欧美亚洲高清在线视频| 免费中日高清无专码有限公司| 老公和他朋友一块上我可以吗| 国产在线麻豆精品观看| 亚洲色图五月天| 国产精品电影网| 92国产福利久久青青草原| 女人18毛片a级| 一级做a爰毛片|