在线免费看污_亚洲视频在线免费观看_91精品国产电影_久久国产亚洲_久久四虎影院_亚洲欧美a_国产精品一区二区三

顯示源代碼
billboard聚合
 開發(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>
        <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>
            bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
            var viewer = new bmgl.Viewer("container", {
                mapId: "bigemap.dc-satellite",
            });
        
            const  initClusterCollection = (viewer) => {
                // console.log(bmgl,'bbbb');
                new bmgl.GeoJsonDataSource()
                    .load("/bmgl/cluster/poi.json")
                    .then((dataSource) => {
                        viewer.dataSources.add(dataSource);
                        // 設(shè)置聚合參數(shù)
                        dataSource.clustering.enabled = true;
                        dataSource.clustering.pixelRange = 60;
                        dataSource.clustering.minimumClusterSize = 4;
                        // foreach用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)。
                        dataSource.entities.values.forEach((entity) => {
                            // console.log(entity);
                            // 將點(diǎn)拉伸一定高度,防止被地形壓蓋
                            entity.position._value.z += 50.0;
                            // 使用大小為64*64的icon,縮小展示poi
                            entity.billboard = {
                                image: "/bmgl/cluster/point.png",
                                width: 32,
                                height: 32,
                            };
                            entity.label = {
                                // text: "POI",
                                text:entity._name,
                                font: "bold 15px Microsoft YaHei",
                                // 豎直對(duì)齊方式
                                verticalOrigin: bmgl.VerticalOrigin.CENTER,
                                // 水平對(duì)齊方式
                                horizontalOrigin: bmgl.HorizontalOrigin.LEFT,
                                // 偏移量
                                pixelOffset: new bmgl.Cartesian2(-14.0,-28.0),
                            };
                        });
                        // 添加監(jiān)聽函數(shù)
                        dataSource.clustering.clusterEvent.addEventListener(
                            function (clusteredEntities, cluster) {
                                // 關(guān)閉自帶的顯示聚合數(shù)量的標(biāo)簽
                                cluster.label.show = false;
                                cluster.billboard.show = true;
                                cluster.billboard.verticalOrigin =
                                    bmgl.VerticalOrigin.BOTTOM;

                                // 根據(jù)聚合數(shù)量的多少設(shè)置不同層級(jí)的圖片以及大小
                                if (clusteredEntities.length >= 20) {
                                    cluster.billboard.image =
                                        combineIconAndLabel(
                                            "/bmgl/cluster/jhGray.png",
                                            clusteredEntities.length,
                                            64
                                        );
                                    cluster.billboard.width = 72;
                                    cluster.billboard.height = 72;
                                    // cluster.billboard.scale = 0.6;
                                } else if (clusteredEntities.length >= 12) {
                                    cluster.billboard.image =
                                        combineIconAndLabel(
                                            "/bmgl/cluster/jhBlue.png",
                                            clusteredEntities.length,
                                            64
                                        );
                                    cluster.billboard.width = 64;
                                    cluster.billboard.height = 64;
                                    // cluster.billboard.scale = 0.6;
                                } else if (clusteredEntities.length >= 8) {
                                    cluster.billboard.image =
                                        combineIconAndLabel(
                                            "/bmgl/cluster/jhGreen.png",
                                            clusteredEntities.length,
                                            64
                                        );
                                    cluster.billboard.width = 56;
                                    cluster.billboard.height = 56;
                                    // cluster.billboard.scale = 0.6;
                                } else {
                                    cluster.billboard.image =
                                        combineIconAndLabel(
                                            "/bmgl/cluster/jhRed.png",
                                            clusteredEntities.length,
                                            64
                                        );
                                    cluster.billboard.width = 40;
                                    cluster.billboard.height = 40;
                                    // cluster.billboard.scale = 0.6;
                                }
                            }
                        );
                    });
            };

            // 將使用的圖片和文字聯(lián)合轉(zhuǎn)換為canvas
            const combineIconAndLabel = (url, label, size) => {
                // 創(chuàng)建畫布對(duì)象
                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;
            };
            
            // 初始化點(diǎn)位聚合
            initClusterCollection(viewer)
        </script>
    </body>
</html>
        
主站蜘蛛池模板: 免费高清观看的视频 | 国内精品久久久久久久aa护士 | 国产制服丝袜 | 日本最新免费网站 | 精品卡1卡二卡3卡 | 国产黄大片在线观看 | 欧洲亚洲一区二区三区 | 国产成人精品高清在线观看99 | 国产毛片农村妇女aa板 | 精品视频一区二区三区在线播放 | 人与禽videos欧美 | 国产亚洲精品日韩综合网 | 天天色天天看 | 成人自拍视频在线观看 | 亚洲精品在线免费观看视频 | 国产成人精品高清不卡在线 | 99热这里只有精品在线观看 | 精品国产午夜肉伦伦影院 | 国产精品亚洲四区在线观看 | 思99热精品久久只有精品 | 岛国在线123456| 97人人模人人爽人人爽喊 | 青青青草影院 | 久久久国产一区二区三区丝袜 | 久久三级毛片 | 色呦呦在线免费观看 | 国产噜噜噜精品免费 | 两个人看的www高清免费视频 | 欧美亚洲精品在线 | 曰本一区| 日韩波多野结衣 | 亚洲一区二区三区高清网 | 男女曰逼视频 | 在线观着免费观看国产黄 | 国产精品亚洲第一区焦香 | 国产一二三四2022精字窝 | 免费福利在线播放 | 国产另类的人妖ts视频 | 99视频在线免费看 | 美国三级在线观看 | 国产欧美激情一区二区三区 |