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

顯示源代碼
電塔展示
 開(kāi)發(fā)文檔
            <!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8" />
        <meta
            name="viewport"
            content="initial-scale=1,maximum-scale=1,user-scalable=no"
        />
        <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>
        <script src="/offline_data/newjunbiao/bmgl-plot.min.js"></script>
        <style>
            body {
                margin: 0;
                padding: 0;
            }
            #container {
                position: absolute;
                top: 0;
                bottom: 0;
                width: 100%;
            }
            .item {
                position: absolute;
                width: 120px;
                height: 20px;
                top: 20px;
                left: 20px;
                z-index: 9;
                background-color: #59acff;
                padding: 4px;
                display: flex;
                align-items: center;
                justify-content: center;
                color: aliceblue;
                cursor: pointer;
            }
            .itemnew {
                position: absolute;
                width: 120px;
                height: 20px;
                top: 20px;
                left: 160px;
                z-index: 9;
                background-color: #59acff;
                padding: 4px;
                display: flex;
                align-items: center;
                justify-content: center;
                color: aliceblue;
                cursor: pointer;
            }
        </style>
        <title>電塔展示</title>
    </head>
    <body>
        <div id="container">
            <h5 class="item">隱藏電塔</h5>
            <h5 class="itemnew">移除電塔</h5>
        </div>
        <script>
            // bmgl.Config.HTTP_URL = "http://dl.bigemap.com:3000/";
            bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
            var viewer = new bmgl.Viewer("container", {
                terrainId: "bigemap.dc-terrain",
                mapId: "bigemap.dc-satellite",
                infoBox: false,
                requestRenderMode: false,
            });
            viewer.scene.globe.depthTestAgainstTerrain = true;
            if (bmgl.FeatureDetection.supportsImageRenderingPixelated()) {
                viewer.resolutionScale = window.devicePixelRatio;
            }
            //開(kāi)啟抗鋸齒,讓圖像更加順滑
            viewer.scene.postProcessStages.fxaa.enabled = true;
            viewer.camera.setView({
                destination: new bmgl.Cartesian3.fromDegrees(
                    102.93000803809652,
                    31.263668004562916,
                    6680.595113634975
                ),
                orientation: {
                    heading: 0.2542886321579614,
                    pitch: -0.5401534852811904,
                    roll: 6.281982467001406,
                },
            });
            //點(diǎn)位數(shù)組
            var points = [
                {
                    lat: 31.298208236694,
                    lng: 102.937088012695,
                    height: 3109.68,
                },
                {
                    lat: 31.304662704468,
                    lng: 102.94189453125,
                    height: 3056.54,
                },
                {
                    lat: 31.312875747681,
                    lng: 102.94807434082,
                    height: 3014.36,
                },
                {
                    lat: 31.326953887939,
                    lng: 102.954597473145,
                    height: 2978.68,
                },
                {
                    lat: 31.34132194519,
                    lng: 102.961463928223,
                    height: 2964.41,
                },
                {
                    lat: 31.343667984009,
                    lng: 102.959060668945,
                    height: 3067,
                },
                {
                    lat: 31.353050231934,
                    lng: 102.966957092285,
                    height: 2779.69,
                },
                {
                    lat: 31.365070343018,
                    lng: 102.975883483887,
                    height: 2640.77,
                },
                {
                    lat: 31.380313873291,
                    lng: 102.980346679688,
                    height: 2685.66,
                },
                {
                    lat: 31.393795013428,
                    lng: 102.981376647949,
                    height: 2601.19,
                },
                {
                    lat: 31.404638290405,
                    lng: 102.982749938965,
                    height: 2470.08,
                },
                {
                    lat: 31.411962509155,
                    lng: 102.981719970703,
                    height: 2331.4,
                },
            ];
            // 模型的縮放大小
            let scale = 10;

            // 塔桿線配置
            let lineConfig = {
                url: "/offline_data/newjunbiao/towerTowloop.glb",
                // 頂部線顏色
                top: {
                    style: {
                        material:
                            bmgl.Color.fromCssColorString("yellow").withAlpha(
                                0.95
                            ),
                        width: 1.0,
                    },
                    position: [{ z: 25.4 }], //頂點(diǎn)偏移量
                },
                // 側(cè)面線顏色
                normal: {
                    low: 10, //表示下垂多少米
                    style: {
                        width: 2.0,
                        material:
                            bmgl.Color.fromCssColorString("red").withAlpha(
                                0.95
                            ),
                    },
                    smoothSum: 15, //使用多少個(gè)點(diǎn)來(lái)平滑線
                    position: [
                        { x: 4.55, y: 0, z: 13.75 },
                        { x: 4.55, y: 0, z: 17.45 },
                        { x: 4.55, y: 0, z: 17.45 + 3.7 },
                        {
                            x: -4.55,
                            y: 0,
                            z: 13.75,
                        },
                        { x: -4.55, y: 0, z: 17.45 },
                        { x: -4.55, y: 0, z: 17.45 + 3.7 },
                    ],
                },
            };

            lineConfig.top.position.map((v) => {
                ["z", "x", "y"].map((d) => {
                    if (v[d]) v[d] *= scale;
                });
            });

            lineConfig.normal.position.map((v) => {
                ["z", "x", "y"].map((d) => {
                    if (v[d]) v[d] *= scale;
                });
            });
            // 實(shí)例化TowerLine塔趕對(duì)象
            let line = new bmgl.effect.TowerLine(viewer, lineConfig);
            console.log("lines", line);

            let towers = [];

            //實(shí)例化電塔和label標(biāo)簽
            points.map((v, index) => {
                let xh = index +1
                let tw = new bmgl.effect.Tower(v, {
                    label: {
                        text: `${xh}號(hào)`,
                        eyeOffset: new bmgl.Cartesian3(0,0,-80),
                        verticalOrigin:bmgl.VerticalOrigin.MIDDLE,
                        font:"楷體 20px",
                    },
                    model: {
                        scale: scale,
                        heightReference: bmgl.HeightReference.CLAMP_TO_GROUND,
                    },
                });
                //掛載自己的一些額外的數(shù)據(jù)
                tw.extraData = {
                    pos: v,
                };
                towers.push(tw);
            });
            //將數(shù)據(jù)賦值給電塔的towers
            line.towers = towers;

            console.log("myLine", line.towers);

            let txt = document.querySelector(".item");
            txt.addEventListener("click", () => {
                if (line.show) {
                    line.show = false;
                    txt.innerText = "展示電塔";
                } else {
                    txt.innerText = "隱藏電塔";
                    line.show = true;
                }
            });

            //事件
            var handler = new bmgl.ScreenSpaceEventHandler(viewer.scene.canvas);
            handler.setInputAction((e) => {
                //  console.log();
                let obj = viewer.scene.pick(e.position);
                if (bmgl.defined(obj)) {
                    console.log("myObj", obj);
                    if (obj.instanceId) {
                        // instanceId 是點(diǎn)擊的電塔在points數(shù)組所在的下表index
                        let index = obj.instanceId;
                        let nowPos = line.towers[index];
                        console.log("now", nowPos.extraData);
                    }
                }
            }, bmgl.ScreenSpaceEventType.LEFT_CLICK);

            document
                .querySelector(".itemnew")
                .addEventListener("click", function () {
                    // 移除所有primitive對(duì)象
                    viewer.scene.primitives.removeAll();
                });
        </script>
    </body>
</html>
        
主站蜘蛛池模板: 意优教育|意大利留学中介_意大利留学费用_意大利申请条件_北京意大利语培训学校 | 天津翻译公司盖章|022-58385822| 翰文博译(天津)商务咨询有限公司 | 举升机,登高梯,升降平台,升降车,升降机,高空作业平台车 | 克莱门特中央空调维修| 磐石在线-磐石市综合信息门户网www.pszx.com - Powered by Discuz! | 汽车漆品牌|家具漆代理|涂料加盟厂家|家具漆|汽车漆-邦派漆官网 汽车漆|汽车油漆|工业油漆涂料|汽车漆加盟-佛山市科涂涂料有限公司 | 铸造厂-铸铝-铸铜-铝合金铸造-重力铸造-翻砂铸造-[剑锋机械配件]专业东莞|深圳铸造厂 | 中深世纪广告公司 深圳标志设计,深圳logo设计公司,包装设计公司,深圳商标设计,深圳画册设计公司 中商信息网-商务数据网-中文商务数据网 | 重庆惠程信息科技股份有限公司 | 污水处理控制系统设计_plc编程控制柜_电气成套设备生产厂家_合肥鸿昇自动化 | 网站建设-百度SEO关键词优化与企业全网营销推广服务-启源信息 | 内衬不锈钢复合管,大口径内衬不锈钢复合钢管,双金属复合管,内衬不锈钢复合管厂家-江苏新澎 | 曙海培训-ZEMAX培训射频培训无线电培训GMS培训EMC培训电磁兼容性培训Maxwell培训欧姆龙培训procast培训可靠性培训光学培训工业机器人培训NI培训Linux培训5G培训Hadoop培训CFD培训 | 塑木地板-木塑地板厂家「云南昆明楚雄曲靖玉溪塑木地板」云南云冶中信塑木新型材料有限公司 | 新乡市德诚机电制造有限公司_筛分设备_振动筛机_颗粒筛选机 | 江苏圣博莱自动化科技有限公司| 男装加盟,男装加盟店,男装代理,男装品牌加盟,品牌男装加盟-虎豹男装品牌加盟 | 深圳LED显示屏厂家_室内户外LED显示屏_彩屏电子有限公司 | 医盟网-全国首家医疗信息化行业门户网站 | 世博磁力泵,耐腐蚀磁力泵,耐酸碱磁力泵,氟塑料磁力泵-苏州冠裕机电科技有限公司 | 吸污车|吸粪车|冷藏车|消防车|清障车|环卫垃圾车价格|湖北程力汽车集团厂家销售公司 | 黑料网 - 黑料大事记-黑料门 黑料社最新 今日黑料 热门黑料 最新反差免费-黑料网今日黑料首页_黑料网 - 黑料大事记-黑料门 黑料社最新 今日黑料 热门黑料 最新反差免费-黑料网今日黑料首页 | 西安鲁班装饰 - 家庭装修,别墅装修,西安十大装修公司排名 | 天力普电力科技有限公司 | 找网页游戏鬼服 高返利鬼服游戏平台 鬼服开服表 - 猫游戏鬼服大全 | 曙海培训-仿真培训Linux培训html5培单片机培训PCB培训python培训PLC培训C语言培训android培训物联网培训无线电培训欧姆龙培训工业机器人培训5G培训Hadoop培训CFD培训项目外包开发咨询 | 贴片磁胶电感_一体成型电感_贴片共模电感_广东精密龙电子科技有限公司 | 洗地机,洗地机价格,扫地机,工业吸尘器,手推式洗地机,驾驶式洗地机,北京洗地机【北京高美环保科技有限公司】 | 烟气在线监测系统_VOCs在线监测_分析仪「杭州世驰科技」 | 售后服务认证-五星级物业售后服务体系认证证书-ISO27001信息安全管理体系认证证书查询认E云-湖北省贯标企业管理咨询有限公司 | 中国环博会 | 亚洲旗舰环保展 2025.4.21-23 上海新国际博览中心 中国焊接协会网站—中国焊接信息网;焊接行业最权威访问量最大的专业网站:焊接信息、焊接材料,焊接机器,焊接设备,焊机,焊材,辅助设备,焊机配件,仪器仪表,电动工具,钎焊,送丝机,表面处理,自动化专机,焊锡丝,助焊剂 | 温州方圆仪器有限公司 工业自动化|自动化设备 - 温州方圆仪器有限公司 | 济南晨阳科技有限公司-锅巴生产设备-夹心米果设备-膨化食品机械 集装箱零配件_不锈钢丝绳厂家_镀锌铁链条_合页非标件定制_上海英鑫多实业有限公司 | 展柜设计定制-品牌展柜订做-展柜制作厂家「广州嘉艺展柜」 | 紫铜箔(带)导电胶带定做,定做紫铜箔(带)导电胶带厂家[价格]-艾飞敏铜箔 | 罗茨鼓风机价格_三叶罗茨鼓风机厂家-山东锦工有限公司 | 江西挤塑板_挤塑板厂家_挤塑板价格-江合保温材料| 质量技术监督12365防伪追溯平台-www.12365china.net | 驾驶洗地机|手推洗地车|天津洗地机|扫地车|仓库工厂扫地机|工业吸尘器|扫雪机|耐洁思 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 浙江福茂德汽车滤清器有限公司 |