高德地圖點(diǎn)聚合--Marker多點(diǎn)聚合及多個(gè)marker點(diǎn)擊事件

本篇文章主要是高德地圖的多點(diǎn)聚合娱两,及多個(gè)marker點(diǎn)擊事件
以下為簡(jiǎn)單的模擬數(shù)據(jù)

soogif (1).gif
image.png

具體代碼如下

<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>點(diǎn)聚合</title>
    <script src="https://cdn.bootcss.com/jquery/3.5.0/jquery.js"></script>
    <link rel="stylesheet"  />
    <style>
        html,
        body,
        #container {
            height: 100%;
            width: 100%;
        }
    </style>
</head>

<body>
    <div id="container" class="map" tabindex="0"></div>

    <script src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js?v=1598903772045"></script>
    <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=2cc213d13f7567d2723e87c1540625b5&plugin=AMap.MarkerClusterer"></script>
    <script type="text/javascript">
        var cluster, markers = [];
        // 地圖初始化
        var map = new AMap.Map("container", {
            resizeEnable: true,
            center: [105, 34],
            zoom: 4
        });
        // 模擬數(shù)據(jù)
        let list = [{
                lnt: 113.951955,
                lat: 22.530825,
                content: "aaa",
                url: "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2126240618,1874470849&fm=26&gp=0.jpg"
            }, {
                lnt: 116.397428,
                lat: 39.90923,
                content: "bbb",
                url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524499220&di=061f5404ccf4b56ca5109c6a74cad7e8&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F18%2F01%2F15%2Fecc1be26af0ccb3aab8a64cbc1d7d5b9.jpg"
            }, {
                lnt: 117.000923,
                lat: 36.675807,
                content: "ccc",
                url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg"
            }, {
                lnt: 112.89114340293699,
                lat: 38.06208615376387,
                content: "ddd",
                url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg"
            }, {
                lnt: 116.303843,
                lat: 39.983412,
                content: "eee",
                url: "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1794114107,2569649938&fm=26&gp=0.jpg"
            }, {
                lnt: 108.94444,
                lat: 34.14248,
                content: "fff",
                url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524653591&di=fce2171454e6d4d44545e51b41bb4224&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Foriginal_pic%2F19%2F03%2F18%2Fbf2928abcd5f96beab12f7a8611614c5.jpg"
            }, {
                lnt: 121.472644,
                lat: 31.231706,
                content: "ggg",
                url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524499220&di=061f5404ccf4b56ca5109c6a74cad7e8&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F18%2F01%2F15%2Fecc1be26af0ccb3aab8a64cbc1d7d5b9.jpg"
            }, //上海
            {
                lnt: 121.506377,
                lat: 31.245105,
                content: "hhh",
                url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524653591&di=fce2171454e6d4d44545e51b41bb4224&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Foriginal_pic%2F19%2F03%2F18%2Fbf2928abcd5f96beab12f7a8611614c5.jpg"
            }, {
                lnt: 121.392735,
                lat: 31.083714,
                content: "iii",
                url: " https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1794114107,2569649938&fm=26&gp=0.jpg",

            },

            {
                lnt: 107.0138,
                lat: 33.0436,
                content: "jjjj",
                url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg",

            }, //漢中
            {
                lnt: 108.95,
                lat: 34.27,
                content: "kkkk",
                url: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605524499220&di=061f5404ccf4b56ca5109c6a74cad7e8&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F18%2F01%2F15%2Fecc1be26af0ccb3aab8a64cbc1d7d5b9.jpg"

            }, {
                lnt: 109.11,
                lat: 35.09,
                content: "lll",
                url: "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2126240618,1874470849&fm=26&gp=0.jpg",

            }, {
                lnt: 110.51,
                lat: 38.83,
                content: "mmm",
                url: " https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1794114107,2569649938&fm=26&gp=0.jpg"

            }, {
                lnt: 109.77,
                lat: 38.3,
                content: "nnnn",
                url: "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3897032442,810482418&fm=26&gp=0.jpg",

            }, {
                lnt: 106.16,
                lat: 33.34,
                content: "oooo",
                url: "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2126240618,1874470849&fm=26&gp=0.jpg"

            },
        ]

        list.map((data) => {
            // 海量生成marker點(diǎn)
            var marker = new AMap.Marker({
                position: new AMap.LngLat(data.lnt, data.lat),
                title: data.title,
                content: `<div><img style="width:100px;height:60px"  src="${data.url}"></img></div>`,
                offset: new AMap.Pixel(-15, -15)
            })

            var a = "http://www.reibang.com/users/27c303b4ef55/followers"

            content = `<div style="width:200px;height:50px;">${data.content},${data.lnt},${data.lat}<div>
                         <a href="${a}" />詳情</div></div>`
            content.replace(/undefined/g, "");

            // 窗體信息
            let infoWindow = new AMap.InfoWindow({
                content: content, //使用默認(rèn)信息窗體框樣式,顯示信息內(nèi)容
                offset: new AMap.Pixel(0, -15),
            });
            //監(jiān)聽(tīng)marker的點(diǎn)擊事件
            AMap.event.addListener(marker, "click", function(e) {
                infoWindow.open(
                    map,
                    // 窗口信息的位置
                    marker.getPosition(data.lnt, data.lat)
                );
            })
            markers.push(marker)

            //添加監(jiān)聽(tīng)事件枫弟,當(dāng)前縮放級(jí)別
            AMap.event.addListener(map, 'zoomend', function() {
                var zoom = map.getZoom();
                // 關(guān)閉信息窗體
                map.clearInfoWindow(infoWindow);
            });
        });

        //使用renderClusterMarker屬性實(shí)現(xiàn)聚合點(diǎn)的完全自定義繪制
        var count = markers.length;
        var _renderClusterMarker = function(context) {
            var factor = Math.pow(context.count / count, 1 / 18);
            var div = document.createElement('div');
            var Hue = 180 - factor * 180;
            var bgColor = 'hsla(' + Hue + ',100%,50%,0.7)';
            var fontColor = 'hsla(' + Hue + ',100%,20%,1)';
            var borderColor = 'hsla(' + Hue + ',100%,40%,1)';
            var shadowColor = 'hsla(' + Hue + ',100%,50%,1)';
            div.style.backgroundColor = bgColor;
            var size = Math.round(30 + Math.pow(context.count / count, 1 / 5) * 20);
            div.style.width = div.style.height = size + 'px';
            div.style.border = 'solid 1px ' + borderColor;
            div.style.borderRadius = size / 2 + 'px';
            div.style.boxShadow = '0 0 1px ' + shadowColor;
            div.innerHTML = context.count;
            div.style.lineHeight = size + 'px';
            div.style.color = fontColor;
            div.style.fontSize = '14px';
            div.style.textAlign = 'center';
            context.marker.setOffset(new AMap.Pixel(-size / 2, -size / 2));
            context.marker.setContent(div)
        };
        if (cluster) {
            cluster.setMap(null);
        }
        // 點(diǎn)聚合樣式
        cluster = new AMap.MarkerClusterer(map, markers, {
            gridSize: 80
        });
    </script>
</body>

</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末罗珍,一起剝皮案震驚了整個(gè)濱河市洽腺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌覆旱,老刑警劉巖蘸朋,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異扣唱,居然都是意外死亡藕坯,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)噪沙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)炼彪,“玉大人,你說(shuō)我怎么就攤上這事正歼》恚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵局义,是天一觀的道長(zhǎng)喜爷。 經(jīng)常有香客問(wèn)我,道長(zhǎng)萄唇,這世上最難降的妖魔是什么檩帐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮另萤,結(jié)果婚禮上湃密,老公的妹妹穿的比我還像新娘。我一直安慰自己仲墨,他們只是感情好勾缭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著目养,像睡著了一般。 火紅的嫁衣襯著肌膚如雪毒嫡。 梳的紋絲不亂的頭發(fā)上癌蚁,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天幻梯,我揣著相機(jī)與錄音,去河邊找鬼努释。 笑死碘梢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伐蒂。 我是一名探鬼主播煞躬,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼逸邦!你這毒婦竟也來(lái)了恩沛?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缕减,失蹤者是張志新(化名)和其女友劉穎雷客,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體桥狡,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搅裙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了裹芝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片部逮。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖嫂易,靈堂內(nèi)的尸體忽然破棺而出兄朋,到底是詐尸還是另有隱情,我是刑警寧澤炬搭,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布蜈漓,位于F島的核電站,受9級(jí)特大地震影響宫盔,放射性物質(zhì)發(fā)生泄漏融虽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一灼芭、第九天 我趴在偏房一處隱蔽的房頂上張望有额。 院中可真熱鬧,春花似錦彼绷、人聲如沸巍佑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)萤衰。三九已至,卻和暖如春猜旬,著一層夾襖步出監(jiān)牢的瞬間脆栋,已是汗流浹背倦卖。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留椿争,地道東北人怕膛。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像秦踪,于是被迫代替她去往敵國(guó)和親褐捻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容