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

顯示源代碼
3D模型GLB
 開發文檔
            <!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8' />
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
    <link  rel='stylesheet' />
    <script src='http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>
    <script src="/templates/bmgl-header.js"></script>
    <style>
        body {
            margin: 0;
            padding: 0;
        }

        #container {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
        }

        .bmgl-widget-credits {
            display: none
        }

        #toolbar {
            position: absolute;
            background: rgba(212, 212, 212, 0.8);
            padding: 4px;
            border-radius: 4px;
        }

        #toolbar input {
            vertical-align: middle;
            padding-top: 2px;
            padding-bottom: 2px;
        }

        #toolbar .header {
            font-weight: bold;
        }
    </style>
    <title>Google Map Streets</title>
</head>

<body>
    <div id='container'></div>
    <div id="loadingOverlay">
        <h1>Loading...</h1>
    </div>
    <div id="toolbar">
        <table>
            <tbody>
                <tr>
                    <td class="header">模型顏色r</td>
                </tr>
                <tr>
                    <td>模型</td>
                    <td>
                        <select data-bind="options: colorBlendModes, value: colorBlendMode"></select>
                    </td>
                </tr>
                <tr>
                    <td>顏色</td>
                    <td><select data-bind="options: colors, value: color"></select></td>
                </tr>
                <tr>
                    <td>透明度</td>
                    <td>
                        <input type="range" min="0.0" max="1.0" step="0.01"
                            data-bind="value: alpha, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: alpha">
                    </td>
                </tr>
                <tr>
                    <td data-bind="style: { color: colorBlendAmountEnabled ? '' : 'gray'}">
                        最大值
                    </td>
                    <td>
                        <input type="range" min="0.0" max="1.0" step="0.01"
                            data-bind="value: colorBlendAmount, valueUpdate: 'input', enable: colorBlendAmountEnabled">
                        <input type="text" size="5"
                            data-bind="value: colorBlendAmount, enable: colorBlendAmountEnabled">
                    </td>
                </tr>
                <tr>
                    <td class="header">模型輪廓</td>
                </tr>
                <tr>
                    <td>顏色</td>
                    <td>
                        <select data-bind="options: silhouetteColors, value: silhouetteColor"></select>
                    </td>
                </tr>
                <tr>
                    <td>透明度</td>
                    <td>
                        <input type="range" min="0.0" max="1.0" step="0.01"
                            data-bind="value: silhouetteAlpha, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: silhouetteAlpha">
                    </td>
                </tr>
                <tr>
                    <td>尺寸大小</td>
                    <td>
                        <input type="range" min="0.0" max="10.0" step="0.01"
                            data-bind="value: silhouetteSize, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: silhouetteSize">
                    </td>
                </tr>
            </tbody>
        </table>
    </div>

    <script>
        bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
        var viewer = new bmgl.Viewer('container', { mapId: 'bigemap.dc-satellite',requestRenderMode:false});


        var entity;

        //獲取混色
        function getColorBlendMode(colorBlendMode) {
            return bmgl.ColorBlendMode[colorBlendMode.toUpperCase()];
        }

        //獲取顏色
        function getColor(colorName, alpha) {
            var color = bmgl.Color[colorName.toUpperCase()];
            return bmgl.Color.fromAlpha(color, parseFloat(alpha));
        }

        // The viewModel tracks the state of our mini application.
        //綁定參數
        var viewModel = {
            color: "Red",
            colors: ["White", "Red", "Green", "Blue", "Yellow", "Gray"],
            alpha: 1.0,
            colorBlendMode: "Highlight",
            colorBlendModes: ["Highlight", "Replace", "Mix"],
            colorBlendAmount: 0.5,
            colorBlendAmountEnabled: false,
            silhouetteColor: "Red",
            silhouetteColors: ["Red", "Green", "Blue", "Yellow", "Gray"],
            silhouetteAlpha: 1.0,
            silhouetteSize: 2.0,
        };

        // Convert the viewModel members into knockout observables.
        bmgl.knockout.track(viewModel);

        // Bind the viewModel to the DOM elements of the UI that call for it.
        var toolbar = document.getElementById("toolbar");
        bmgl.knockout.applyBindings(viewModel, toolbar);

        bmgl.knockout
            .getObservable(viewModel, "color")
            .subscribe(function (newValue) {
                entity.model.color = getColor(newValue, viewModel.alpha);
            });

        bmgl.knockout
            .getObservable(viewModel, "alpha")
            .subscribe(function (newValue) {
                entity.model.color = getColor(viewModel.color, newValue);
            });

        bmgl.knockout
            .getObservable(viewModel, "colorBlendMode")
            .subscribe(function (newValue) {
                var colorBlendMode = getColorBlendMode(newValue);
                entity.model.colorBlendMode = colorBlendMode;
                viewModel.colorBlendAmountEnabled =
                    colorBlendMode === bmgl.ColorBlendMode.MIX;
            });

        bmgl.knockout
            .getObservable(viewModel, "colorBlendAmount")
            .subscribe(function (newValue) {
                entity.model.colorBlendAmount = parseFloat(newValue);
            });

        bmgl.knockout
            .getObservable(viewModel, "silhouetteColor")
            .subscribe(function (newValue) {
                entity.model.silhouetteColor = getColor(
                    newValue,
                    viewModel.silhouetteAlpha
                );
            });

        bmgl.knockout
            .getObservable(viewModel, "silhouetteAlpha")
            .subscribe(function (newValue) {
                entity.model.silhouetteColor = getColor(
                    viewModel.silhouetteColor,
                    newValue
                );
            });

        bmgl.knockout
            .getObservable(viewModel, "silhouetteSize")
            .subscribe(function (newValue) {
                entity.model.silhouetteSize = parseFloat(newValue);
            });


        createModel(
            "/templates/glb/bmgl_Air.glb",
            5000.0
        );

        // 添加模型
        function createModel(url, height) {
            viewer.entities.removeAll();

            var position = bmgl.Cartesian3.fromDegrees(
                -123.0744619,
                44.0503706,
                height
            );
            var heading = bmgl.Math.toRadians(135);
            var pitch = 0;
            var roll = 0;
            var hpr = new bmgl.HeadingPitchRoll(heading, pitch, roll);
            var orientation = bmgl.Transforms.headingPitchRollQuaternion(
                position,
                hpr
            );

            entity = viewer.entities.add({
                name: url,
                position: position,
                orientation: orientation,
                model: {
                    uri: url,
                    minimumPixelSize: 128,
                    maximumScale: 20000,
                    color: getColor(viewModel.color, viewModel.alpha),
                    colorBlendMode: getColorBlendMode(viewModel.colorBlendMode),
                    colorBlendAmount: parseFloat(viewModel.colorBlendAmount),
                    silhouetteColor: getColor(
                        viewModel.silhouetteColor,
                        viewModel.silhouetteAlpha
                    ),
                    silhouetteSize: parseFloat(viewModel.silhouetteSize),
                },
            });
            viewer.trackedEntity = entity;
            viewer.zoomTo(entity)
        }

        var options = [
            {
                text: "飛機",
                onselect: function () {
                    createModel(
                        "/templates/glb/bmgl_Air.glb",
                        5000.0
                    );
                },
            },
            {
                text: "運輸車",
                onselect: function () {
                    createModel(
                        "/templates/glb/GroundVehicle.glb",
                        0
                    );
                },
            },
            {
                text: "熱氣球",
                onselect: function () {
                    createModel(
                        "/templates/glb/bmglBalloon.glb",
                        1000.0
                    );
                },
            },
            {
                text: "牛奶卡車",
                onselect: function () {
                    createModel(
                        "/templates/glb/bmglMilkTruck.glb",
                        0
                    );
                },
            },
            {
                text: "個性人物",
                onselect: function () {
                    createModel(
                        "/templates/glb/bmgl_Man.glb",
                        0
                    );
                },
            },
        ];

        Sandcastle.addToolbarMenu(options);




    </script>
</body>

</html>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
主站蜘蛛池模板: 木材粉碎机-树枝秸秆粉碎机价格-双轴金属撕碎机生产线-金禾机械厂家 | 医疗器械,理化实验室设备,微生物,培养基,一站式采购 - 杭州润泽仪器商城 | 网络公关公司_舆情监测_危机公关_品牌公关_一夜红传媒 | 私人家庭影院装修_别墅家庭影院设计_家庭影院价格方案-广州家庭影院定制公司 | 无锡纯铁-中纯特钢纯铁公司| 轻型防化服|重型防化服|全封闭防化服|济南三安安全防护设备有限公司 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 金华美凡文化传媒有限公司 | 语音芯片_蓝牙芯片_ble数传芯片_蓝牙数传模块厂家_拓达半导体-蓝牙数传芯片模块原厂 | 萍乡市信源电瓷制造有限公司--官网|萍乡市信源电瓷|萍乡电瓷厂|萍乡绝缘子-萍乡市信源电瓷制造有限公司 | 手术示教系统-实训示教系统-数字化手术室-直播录播系统 - 深圳市视源视讯技术有限公司 | 气胀轴丨安全夹头丨电磁制动器丨纠偏系统丨磁粉离合器丨张力控制器厂家- 东莞天机通信科技有限公司 | 武汉凯美隆窗帘厂家_定做商用窗帘_家用遮阳帘_涵盖电动窗帘_天棚帘_遮阳棚_凯美隆-专注遮阳产品 武汉净化机-武汉全热新风换气机-武汉静音送风机-武汉东信新风节能设备有限公司 | 一体式电磁流量计_分体式电磁流量计_卫生级电磁流量计_卫生型电磁流量计_电池供电电磁流量计_卡箍式电磁流量计_废水电磁流量计_德克森仪表(淮安)有限公司官网 | 亚洲一区日韩一区欧美一区a,中文字幕乱妇无码AV在线,欧美日韩免费在线观看,国产精品一区二区三区免费,日韩精品免费一线在线观看,日韩一本在线,国产呦精品一区二区三区下载,国产日韩精品一区二区在线观看,欧美日韩高清一区二区三区,日韩在线免费观看视频,欧美日韩一区在线观看 | 木箱_木箱包装_出口木箱设计_熏蒸木箱价格_包装木箱厂 | 精品中文字幕在线观看,粉嫩av一区二区三区,最近中文字幕在线看免费视频,亚洲高清在线观看,日本一区二区视频手机免费看,国产黄色小视频,亚洲高清免费视频,国产精品一区二区欧美视频,亚洲人免费视频,亚洲视频在线观看免费,国产免费高清综合视频,中文字幕永久在线 | 乐清人才网_乐清招聘网_求职找工作平台 | 三菱plc_触摸屏_变频器_欧姆龙plc_普洛菲斯_安川伺服电机-广州凌控 | 信用卡申请_银行贷款_贷款计算器_银桥网 | 全自动圆木多片锯_立式圆木多片锯价格_大型圆木多片锯厂家-邢台友创机械制造有限公司 | 涡流探伤仪-超声波探伤仪-上海仓信电子科技有限公司 | 监控工程,安防监控公司,北京监控安装,北京安装监控,安装摄像头,北京监控维保,监控施工,北京监控维修,监控弱电工程,监控器安装,监控维护保养,监控工程设计,北京监控设备维修,监控报警安装,北京北方合力科技有限公司 | 山东洗地机_工业洗地机_驾驶式扫地机_扫地车厂家_鼎洁盛世官网 | 青浦区摄像头安装/青浦区无线网络覆盖/青浦区网络调试公司/青浦区IT外包公司/金山区网络维护公司/金山区防火墙调试公司 | 三菱plc_触摸屏_变频器_欧姆龙plc_普洛菲斯_安川伺服电机-广州凌控 | 实木运动地板价格_运动木地板厂家-欧氏实木运动地板网 | 宣传片拍摄-宣传片制作-三维动画-企业视频广告报价-北京环宇影音 | 勺子互联-b2b电子商务平台,免费产品发布| 砂金设备-淘金机械-金矿选矿设备厂家-青州冠诚重工机械有限公司 砂浆生产线_干混砂浆设备_干混砂浆生产线-苏州一工机械有限公司 | 陕西|青海|兰州|新疆|西宁|净化工程|西安甘肃|PCR实验室|无尘车间|净化车间-西安环亚净化工程 | 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 - 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 秦皇岛市信恒电子科技有限公司 秦皇岛市华谊彩印有限公司 | 衡水物流网,衡水物流信息网,衡水物流公司,衡水货运专线,衡水专线运输车辆 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 消防车厂家_东风水罐泡沫消防车价格图片吨位-湖北新东日专用汽车有限公司 | 辽宁闻天香食品有限公司| 美林基业集团官网——美林基业,一生挚诚 | 数控机床市场网-专业的数控机床网站 | 企业信息安全整体解决方案提供商-上海华垸信息技术有限公司 | 铱金供应-上海钌合金-氯铱酸厂家-上海庞势新材料科技有限公司 | 以物联网技术为核心专注于智能安防领域物联网服务的高新技术企业-北京欣智恒科技股份有限公司(官网) |