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

顯示源代碼
行政區(qū)展示
 開發(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/xzq/bmgl-plot.min.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
        <script src="http://www.cnhrsm.com/Public/js/3d/circleWave.js"></script>
        <style>
            body {
                margin: 0;
                padding: 0;
            }
            #container {
                position: absolute;
                top: 0;
                bottom: 0;
                width: 100%;
                background: url("/offline_data/xzq/bg.jpg") no-repeat;
                background-size:100% 100%;
            }
            .bmgl-widget-credits {
                display: none;
            }
            .mask {
                position: absolute;
                left: 0;
                top: 0;
                z-index: 999;
                width: 100%;
                height: 100%;
                pointer-events: none;
                background-image: radial-gradient(
                    rgba(139, 138, 138, 0.12) 20%,
                    rgba(65, 57, 57, 0.56) 50%,
                    rgb(17, 16, 16) 80%
                );
            }
        </style>
        <title>Google Map Streets</title>
    </head>
    <body>
        <!-- <div class="mask"></div> -->
        <div id="container"></div>
        <script>
            bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
            var viewer = new bmgl.Viewer("container", {
                mapId: "bigemap.dc-satellite",
                infoBox: false,
                selectionIndicator: false,
                orderIndependentTranslucency: false,
                contextOptions: {
                    webgl: {
                        alpha: true,
                    },
                },
                requestRenderMode: false,
            });
            let cdarr = [
                {
                    label: "簡陽市",
                    pos: [104.547644, 30.410937],
                },
                {
                    label: "武侯區(qū)",
                    pos: [104.043246, 30.641849],
                },
                {
                    label: "邛崍市",
                    pos: [103.46204996, 30.41276186],
                },
                {
                    label: "都江堰",
                    pos: [103.647193, 30.988763],
                },
            ];

            viewer.scene.skyBox.show = false; //隱藏天空盒子
            viewer.scene.backgroundColor = new bmgl.Color(0.0, 0.0, 0.0, 0.0); //隱藏黑色背景
            viewer.scene.globe.baseColor = new bmgl.Color(0, 0, 0, 0); //替換球體默認(rèn)藍(lán)色
            viewer.scene.globe.enableLighting = false; //隱藏太陽
            viewer.shadows = false;
            viewer.scene.sun.show = false; //或者viewer.scene.sun.destroy();
            viewer.scene.moon.show = false; //隱藏月亮
            viewer.scene.skyAtmosphere.show = false; //大氣圈
            viewer.scene.fog.enable = false; //霧
            viewer.scene.globe.show = false;
            // 禁用星光
            viewer.scene.skyAtmosphere.show = false;
            if (bmgl.FeatureDetection.supportsImageRenderingPixelated()) {
                viewer.resolutionScale = window.devicePixelRatio;
            }
            //開啟抗鋸齒,讓圖像更加順滑
            viewer.scene.postProcessStages.fxaa.enabled = true;
            let max = null;
            var promise = bmgl.KmlDataSource.load("/offline_data/xzq/cd.kml");
            promise
                .then(function (dataSource) {
                    var entities = dataSource.entities.values;
                    var colorHash = {};
                    for (var i = 0; i < entities.length; i++) {
                        var entity = entities[i];
                        // var name = entity.name;
                        // console.log(`enetity`,entity);
                        if (entity.polygon) {
                            let dd =
                                entity.polygon.hierarchy.getValue().positions;
                            if (max == null) {
                                max = dd;
                            } else {
                                if (max.length < dd.length) {
                                    max = dd;
                                }
                            }
                        }
                    }
                    // console.log(max, "max");
                    let arr = [];
                    max.forEach((v, i) => {
                        let ellipsoid = bmgl.Ellipsoid.WGS84;
                        let cartographic = ellipsoid.cartesianToCartographic(v);
                        let lng = bmgl.Math.toDegrees(cartographic.longitude);
                        let lat = bmgl.Math.toDegrees(cartographic.latitude);
                        arr.push([lng, lat]);
                    });
                    let myWall = viewer.entities.add({
                        wall: {
                            positions: bmgl.Cartesian3.fromDegreesArray(
                                arr.flat()
                            ),
                            minimumHeights: new Array(arr.length).fill(0),
                            maximumHeights: new Array(arr.length).fill(20000),
                            material: new bmgl.BMMaterial.WallFocusMaterial({
                                image: "/offline_data/xzq/wall_color.png",
                                color: bmgl.Color.fromCssColorString("#0d8dc9"),
                                repeat: 1,
                            }),
                            outline: false,
                        },
                        polygon: {
                            hierarchy: bmgl.Cartesian3.fromDegreesArray(
                                arr.flat()
                            ),
                            extrudedHeight: 20000,
                            height: 19999.9,
                            material: new bmgl.ImageMaterialProperty({
                                image: "/offline_data/xzq/cd.png",
                                repeat: new bmgl.Cartesian2(1, 1),
                            }),
                            outline: true,
                            outlineColor:
                                bmgl.Color.fromCssColorString("#f7f7f7"),
                            outlineWidth: 100.0,
                            // material:bmgl.Color.RED,
                        },
                    });
                    viewer.zoomTo(myWall);
                    initBillboards();
                })
                .otherwise(function (error) {
                    window.alert(error);
                });

            function initBillboards() {
                cdarr.forEach((v, i) => {
                    // let
                    let m1 = viewer.entities.add({
                        id: "bl" + i,
                        position: bmgl.Cartesian3.fromDegrees(...v.pos, 24300),
                        // position: new bmgl.CallbackProperty(getHeight(v), false),
                        billboard: {
                            image:
                                (i + 1) % 3 == 0
                                    ? "/offline_data/xzq/yellow.png"
                                    : (i + 1) % 3 == 1
                                    ? "/offline_data/xzq/black.png"
                                    : "/offline_data/xzq/red.png",
                            scale: 1,
                            pixelOffset: new bmgl.Cartesian2(2, -12),
                        },
                        label: {
                            text: v.label,
                            color: "#fcfcfc",
                            font: "20px 楷體",
                            pixelOffset: new bmgl.Cartesian2(2, -22),
                        },
                    });

                    let m2 = viewer.entities.add({
                        position: bmgl.Cartesian3.fromDegrees(...v.pos, 23300),
                        ellipse: {
                            semiMajorAxis: 5000,
                            semiMinorAxis: 5000,
                            height: 20000,
                            heightReference: bmgl.HeightReference.NONE,
                            material: new bmgl.BMMaterial.CircleWaveMaterial({
                                color: bmgl.Color.fromCssColorString(
                                    "#197f8d"
                                ).withAlpha(0.8),
                                speed: 10,
                                count: 5,
                            }),
                        },
                    });
                    getHeight(m1, v);
                });
            }

            function getHeight(entity, v) {
                let i = 0;
                let height = 24300;
                let lng = v.pos[0];
                let lat = v.pos[1];
                let isOK = false;
                setInterval(() => {
                    // i += 500;
                    console.log("iii", i);
                    if (!isOK) {
                        // i = 0;
                        entity.position = bmgl.Cartesian3.fromDegrees(
                            lng,
                            lat,
                            height + 600
                        );
                        isOK = true;
                        viewer.scene.requestRender();
                        // return bmgl.Cartesian3.fromDegrees(lng, lat, 23300);
                    } else {
                        entity.position = bmgl.Cartesian3.fromDegrees(
                            lng,
                            lat,
                            height - 600
                        );
                        isOK = false;
                        viewer.scene.requestRender();
                        // return bmgl.Cartesian3.fromDegrees(
                        //     lng,
                        //     lat,
                        //     height + i
                        // );
                    }
                }, 500);
            }
        </script>
    </body>
</html>
        
主站蜘蛛池模板: 深圳钢成培训专业从事,五轴培训,车铣复合培训,数控车床,CNC数控编程,模具编程 ,钣金机械与模具设计,powermill,mastercam,solidworks,ug,hypermill培训 | 自动隔油提升设备,消防稳压一体设备,苏州不锈钢消防水箱,污水提升设备厂家,无负压变频供水设备厂家-苏州脉泉供水设备有限公司 | 小程序商城,_电商系统源码,直播商城定制开发电商系统源码,电商系统,java电商系统 | 湖南流水线-湖南自动化设备-湖南输送设备-湘潭市友工自动化设备有限公司 | 基坑护栏,临边护栏网,爬架网,爬架网片,铁路防护栅栏,公路护栏网,河北昊坤金属制品有限公司 | 三次元振动研磨机|涡流光饰机|东莞市正雄研磨机械有限公司 | 普利卡管|普利卡管接头|普利卡接头-上海闵彬管业有限公司 | 郑州办公家具厂_河南办公家具厂_河南办公家具-河南华诺家具 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 南京人才网_南京招聘网_南京人才市场最新招聘信息 | 太阳能路灯生产厂家-郑州太阳能高杆灯价格-道路照明智能路灯-河南坤德照明 | 学汽修-汽修培训-郑州万通汽车学校[官网] | 耀美软瓷施工队-13638350103-专注于软瓷施工勾缝的贴软瓷施工队 - 软瓷,软瓷施工,软瓷勾缝,软瓷怎么施工,软瓷怎么勾缝,贴软瓷,软瓷施工队 | 新中式家具,广东新中式家具,广州新中式家具,佛山新中式家具,顺德新中式家具,乐从新中式家具,新中式家具厂家直销--唐明雅居 | 全铝家居_十大全铝家具品牌_全铝衣柜橱柜——佛山欧格美铝业 | 中深世纪广告公司 深圳标志设计,深圳logo设计公司,包装设计公司,深圳商标设计,深圳画册设计公司 中商信息网-商务数据网-中文商务数据网 | 耐磨锤头|合金锤头|高铬耐磨锤头|破碎机锤头|双金属双液复合锤头_巩义东辰实业 合金耐磨锤头铸造厂 | 长沙网站建设,网站设计制作,长沙小程序开发,公众号开发,长沙叶老设计 | 域发官网-皮肤学级头皮养固领先者 | 郑州润滑油展-第16届中国润滑油、脂及汽车养护展览会-2025年5月27-28日-郑州国际会展中心 | 可燃气体报警器-有毒有害气体检测仪-气体检测分析系统-宁波市高品科技有限公司 | 托辊|滚筒|聚氨酯托辊|缓冲托辊|尼龙托琨|衡水良龙输送机械有限公司 | 深圳市泰美乐纸制品有限公司-纸杯厂,一次性纸杯,广告纸杯,奶茶纸杯,试饮纸杯定做 | 深圳五洲中医院_深圳好的中医院_深圳市医保定点医院[官网] | 实验室超纯水机-超纯水机-超纯水仪-上海赫恩实业有限公司 | 山东健泽医疗科技有限公司-官网_深呼吸训练器_肋骨固定板_放疗定位膜耗材生产厂家招商 | 万博瑞升(天津)科技有限公司-管道应力|管道振动|脉动|CAE,CFD 弯箍机_钢筋弯箍机_全自动钢筋弯箍机_数控弯箍机-建科智能装备制造(天津)股份有限公司 | 柔性电缆-专业机器人电缆,拖链电缆生产厂家| 真石漆-防火涂料-氟碳漆-地坪漆-广田外墙涂料 | 建材制品燃烧热值试验仪_建筑材料不燃性试验仪-华阳试验机制造 | 智能电地暖_电地暖安装_电地暖价格-西安秦星暖通工程有限公司 | 消防安装_消防安装施工_消防施工_北京消防安装公司-亿杰(北京)消防工程有限公司 | 五凌汽配-轮胎螺丝|中心螺丝|小螺丝|轮胎螺栓|扭力杆螺丝|高强度紧固件|螺丝螺母|汽车配件 | 消防服_防化服_灭火防护服_消防装备生产厂家-泰州市华通消防装备厂有限公司 | 气瓶探伤设备-气瓶在线离线无损探伤检测系统-中高低压力容器超声波自动探伤设备-山科飞泰 | 绍兴凯渥人力资源有限公司-劳务派遣,劳务分包,代办公司注册 | 青浦区摄像头安装/青浦区无线网络覆盖/青浦区网络调试公司/青浦区IT外包公司/金山区网络维护公司/金山区防火墙调试公司 | 席高设计型地板官网_拼花地板_高端木地板定制专家_轻奢地板 | 扬州华工电气有限公司|环氧树脂管|金刚石绝缘板|U型绝缘槽|电解槽绝缘材料 | 液压尾管悬挂器,机械式尾管悬挂器价格,石油套管扶正器厂家,连续油管悬挂器,高压双塞水泥头,免钻塞注水泥分级箍,单塞套管水泥头价格,弹性套管扶正器,铸铝钢性扶正器,钢性套管扶正器厂家 | 湖北大洋塑胶有限公司|AGR|PPR|RTP|HDPE|e-PSP钢塑复合压力管道生产厂家 |