BIGEMAP卫星地图_高清卫星地图_北斗高清地图_地图软件_矢量地图数据_专题地图

顯示源代碼
泰森多邊形
 開發文檔
            <!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>
        
主站蜘蛛池模板: 无尘布_乳胶手套_防静电手环_口罩-苏州迈思德超净科技有限公司 | 金酱酒_金酱酒代理加盟招商_OEM贴牌企业定制! – 金酱酒代理加盟!茅台镇较早的酿酒烧坊,年产优质酱香白酒5000余吨,仁怀市十强白酒企业,主营主品:金酱酒、金酱陈香酒、酱香老酒等系列品牌产品 | 上海纳美鞋业有限公司| 三机一体除湿干燥机,色母机,称重式拌料机,工业冻水机,中央集中供料-东莞市瑞达机械科技有限公司(瑞达国际) | 深圳车牌识别系统厂家_人脸识别厂家_通道闸厂家_车位引导系统_智慧社区管理系统_深圳市利普诺科技有限公司官网 | 全自动贴标机厂家-深圳市优斯迪自动贴标机官网 | 河南电梯公司_郑州电梯公司_河南家用别墅电梯厂家-郑州嘉祥机电设备公司 | 注塑加工,无锡塑料件加工,注塑模具加工厂家-无锡富立康精密模塑有限公司 | 中捷摇臂钻,数控钻床,沈阳中捷设备机床厂官网_沈阳中捷数控摇臂钻床厂 | 合肥固化地坪-安徽耐磨地坪-合肥环氧地坪厂家-安徽玉平地坪工程有限公司 | 卧螺离心机-固液分离机-台州春鼎机械制造有限公司 | 网站建设-百度SEO关键词优化与企业全网营销推广服务-启源信息 | 联智通达_工控一体机_工业触摸一体机_工业一体机_工业触控一体机_POS机主板_工控主板_国产化主板_RK3588主板厂商-联智通达 | 油气润滑_稀油润滑_干油润滑-启东中德润滑设备有限公司 | 济南诚润达贸易有限公司 - 专注专营巴斯夫防冻冷却液 | 济宁市兴大工程机械有限公司 | 全铝家居_十大全铝家具品牌_全铝衣柜橱柜——佛山欧格美铝业 | 深圳激光焊锡机-全自动点胶机设备-全自动激光焊锡机厂家-深圳创精锐 | 浙江健朗-舒华跑步机|公园运动器材|商用健身设备|户外健身器材厂家 | 油气润滑_稀油润滑_干油润滑-启东中德润滑设备有限公司 | 望崖阁书法培训班-杭州书法高考培训班2023届招生简章-优清画院 | 温湿度记录仪_温度监控_冷链监控云平台_USB/PDF温度记录仪-深圳市鸿睿物联科技发展有限公司 | 铝型材定制_东莞铝型材_散热器铝型材_工业铝合金型材挤压加工生产厂家价格-中亚铝业 | 透明捆扎带_束带机打包带_束带机纸带_热封纸带机_上海得亿束带机包装材料有限公司 | 全自动灌装机械设备-迈驰粉末/颗粒/液体/膏体灌装机械设备流水线生产厂家 | 陕西散花照明-西安太阳能路灯,陕西太阳能路灯,西安太阳能路灯厂家,陕西太阳能路灯厂家 | 三安光电股份有限公司| 上海同田生物技术有限公司-逆流色谱供应商和应用技术服务商 | 重庆监控-监控系统-大型弱电工程-重庆万建电子工程有限责任公司是智能化一级工程公司 | 有机肥设备|有机肥生产线|有机肥料生产设备|河南通达重工科技有限公司 | 昆山开曼流体系统科技有限公司| 宜昌江峡船用机械有限责任公司欢迎您!| 铜陵爱家装饰有限公司官网 | 厦门海为科技有限公司 - 工业物联网|国产PLC|HMI|SCADA | 兰州钢结构,甘肃铝镁锰板工程,青海岩棉复合板厂家,宁夏岩棉彩钢板公司,西宁彩钢夹芯板-兰州腾达彩钢 | 久久91精品久久91综合_国产亚洲自拍一区_国产精品第1页_亚洲高清视频一区_91成人午夜在线精品_亚洲国产精品网站在线播放_亚洲国产成人久久综合区_国产精品亚洲专区在线观看_免费视频精品一区二区三区 | 南京企业宣传片制作,广告形象片,影视制作,宣传片拍摄,微电影拍摄制作公司 | 实木中药柜,实木中药斗,木制中药柜,木制中药柜的价格,实木中草药柜,安国美佳中药柜厂家 | 铅板-济南鑫玉防辐射材料有限公司 | 实验室冷水机-冷却循环水系统-深圳市达沃西制冷设备厂 | 射频导纳物位开关|雷达液位计|安全光栅光幕传感器|音叉料位开关|两级跑偏开关|双向拉绳开关|纵向撕裂保护装置-山东卓信机械有限公司 |