亚洲动漫在线观看-亚洲动漫第一页-亚洲丁香婷婷-亚洲丶国产丶欧美一区二区三区-亚洲第一综合网站-亚洲第一永久色

顯示源代碼
billboard聚合2
 開(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="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
        <style>
            body {
                margin: 0;
                padding: 0;
            }
            #container {
                position: absolute;
                top: 0;
                bottom: 0;
                width: 100%;
            }
            .bmgl-widget-credits {
                display: none;
            }
        </style>
        <title>Google Map Streets</title>
    </head>
    <body>
        <div id="container"></div>

        <script>
            var dataSource = new bmgl.CustomDataSource("marker");
            var viewer = null;
            var billboard = null;

            bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
            var viewer = new bmgl.Viewer("container", {
                mapId: "bigemap.dc-satellite",
                 infoBox:false,
                selectionIndicator:false,
            });
            //取消默認(rèn)的點(diǎn)擊事件
            viewer.screenSpaceEventHandler.removeInputAction(bmgl.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
            createPin();
            combineListener();
            function createPin() {
                viewer.dataSources.add(dataSource);
                for (let index = 0; index < 100; index++) {
                    var demoData = {
                        name: "demo" + index,
                        position: bmgl.Cartesian3.fromDegrees(
                            Math.random() * (117 - 116) + 116,
                            Math.random() * (40 - 39) + 39
                        ),
                        billboard: {
                            show: true, // default
                            eyeOffset: new bmgl.Cartesian3(0.0, 0.0, 0.0), // default
                            horizontalOrigin: bmgl.HorizontalOrigin.CENTER, // default
                            verticalOrigin: bmgl.VerticalOrigin.BOTTOM, // default: CENTER
                            scale: 1.0, // default: 1.0

                            alignedAxis: bmgl.Cartesian3.ZERO, // default
                            width: 40, // default: undefined
                            height: 40, // default: undefined
                            pixelOffset: new bmgl.Cartesian2(0, 0),
                        },
                    };
                    dataSource.entities.add(demoData);
                    dataSource.entities.values.forEach((entity) => {
                        entity.billboard.image = "/offline_data/mark-icon.png"; //圖片配置在public的static目錄下
                    });
                    billboard = viewer.entities.add(demoData);
                }
            }

            //點(diǎn)聚合功能實(shí)現(xiàn)
            function combineListener() {
                dataSource.clustering.enabled = true;
                dataSource.clustering.pixelRange = 30;
                dataSource.clustering.minimumClusterSize = 2;
                dataSource.clustering.clusterEvent.addEventListener(function (
                    clusteredEntities,
                    cluster
                ) {
                    // 關(guān)閉自帶的顯示聚合數(shù)量的標(biāo)簽
                    cluster.label.show = false;
                    cluster.billboard.show = true;
                    cluster.billboard.id = cluster.label.id;
                    cluster.billboard.verticalOrigin =
                        bmgl.VerticalOrigin.BOTTOM;
                    // 根據(jù)聚合數(shù)量的多少設(shè)置不同層級(jí)的圖片以及大小
                    if (clusteredEntities.length >= 10) {
                        cluster.billboard.image = combineIconAndLabel(
                            "/bmgl/cluster/jhGray.png",
                            clusteredEntities.length,
                            64
                        );
                        cluster.billboard.width = 60;
                        cluster.billboard.height = 60;
                    } else if (clusteredEntities.length >= 6) {
                        cluster.billboard.image = combineIconAndLabel(
                            "/bmgl/cluster/jhBlue.png",
                            clusteredEntities.length,
                            64
                        );
                        cluster.billboard.width = 55;
                        cluster.billboard.height = 55;
                    } else if (clusteredEntities.length >= 3) {
                        cluster.billboard.image = combineIconAndLabel(
                            "/bmgl/cluster/jhGreen.png",
                            clusteredEntities.length,
                            64
                        );
                        cluster.billboard.width = 50;
                        cluster.billboard.height = 50;
                    } else {
                        cluster.billboard.image = combineIconAndLabel(
                            "/bmgl/cluster/jhRed.png",
                            clusteredEntities.length,
                            64
                        );
                        cluster.billboard.width = 45;
                        cluster.billboard.height = 45;
                    }
                });

                // 創(chuàng)建畫(huà)布對(duì)象
                function combineIconAndLabel(url, label, size) {
                    let canvas = document.createElement("canvas");
                    canvas.width = size;
                    canvas.height = size;
                    let ctx = canvas.getContext("2d");
                    let promise = new bmgl.Resource.fetchImage(url).then(
                        (image) => {
                            try {
                                ctx.drawImage(image, 0, 0);
                            } catch (e) {
                                console.log(e);
                            }
                            ctx.fillStyle = bmgl.Color.WHITE.toCssColorString();
                            ctx.font = "bold 12px Microsoft YaHei";
                            ctx.textAlign = "center";
                            ctx.textBaseline = "middle";
                            ctx.fillText(label, size / 4, size / 4);
                            // console.log(`ctx`,ctx);
                            return canvas;
                        }
                    );
                    return promise;
                }
            }
        </script>
    </body>
</html>
        
主站蜘蛛池模板: 91av导航| 亚洲精品久久久成人 | 精品国产日韩一区三区 | 成年人视频在线播放 | 日韩精品一区二区三区中文在线 | 暖暖的免费观看高清视频韩国 | 99精品国产综合久久久久 | 精品无码一区二区三区中文字幕 | 插入粉嫩| ccc在线在线36 | 欧美 变态 另类 人妖班 | 国产香蕉国产精品偷在线观看 | 黄a一级| 臀控福利大臀的网站 | 亚洲国产精品婷婷久久久久 | 我与旗袍老师疯狂床震 | 亚洲婷婷在线视频 | 高h射尿 | 嫩草影院地址一地址二 | 亚洲品质自拍网站 | 国产在线观看福利片 | 毛片www| 国产在线98福利播放视频免费 | 国产成人免费高清激情明星 | 国产精品99久久免费观看 | 成人日b视频 | 欧美人妖草草xxoo | 亚洲日本va午夜中文字幕 | 国内偷拍第一页 | 潘甜甜在线观看 | 外女思春台湾三级 | 国产原创一区二区 | 国产视频中文字幕 | 国人精品视频在线观看 | 欧美一级艳片视频免费观看 | 国产一区二区在线观看视频 | 日本免费的一级绿象 | 日本漫画被黄漫免费动 | 女仆色永久免费网站 | 好爽视频 | 女教师波多野结衣高清在线 |