echarts全國地圖圖表標注效果

一、效果圖


1615279375.jpg

二、代碼上傳

<!DOCTYPE html>
<html style="height: 100%">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
</head>

<body style="height: 100%; margin: 0">
    <div id="container" style="height: 100%"></div>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@4/dist/echarts.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl@1/dist/echarts-gl.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat@1/dist/ecStat.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@4/dist/extension/dataTool.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@4/map/js/china.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@4/map/js/world.js"></script>
    <script type="text/javascript"
        src="http://api.map.baidu.com/api?v=2.0&ak=dGOGqTGUq22ZHDSzQN2wblE2YKb980uq"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@4/dist/extension/bmap.min.js"></script>

    <script type="text/javascript">
        var dom = document.getElementById("container");
        var myChart = echarts.init(dom);
        var app = {};

        var option;
        var data = [
            { name: '海門服務(wù)站', value: 134, content: '1' },
            { name: '鄂爾多斯', value: 134, content: '2' },
            { name: '招遠', value: 134, content: '3' },
            { name: '舟山', value: 134, content: '4' },
            { name: '齊齊哈爾', value: 134, content: '5' },
            { name: '鹽城', value: 134, content: '6' },
            { name: '赤峰', value: 134, content: '7' },
            { name: '青島', value: 134, content: '8' },
            { name: '撫順', value: 135, content: '33' },
            { name: '玉溪', value: 135, content: '34' },
            { name: '張家口', value: 135, content: '姓名:李**<br/>電話:159****6228<br/> 服務(wù)站編號:魯P030001<br/>地址:牛角店鎮(zhèn)夏碼村南' },

            { name: '鹽城1', value: 133, content: '6' },
            { name: '赤峰2', value: 133, content: '7' },
            { name: '青島3', value: 133, content: '8' },

        ]
        var geoCoordMap = {
            '海門': [121.15, 31.89],
            '鄂爾多斯': [109.781327, 39.608266],
            '招遠': [120.38, 37.35],
            '舟山': [122.207216, 29.985295],
            '齊齊哈爾': [123.97, 47.33],
            '鹽城': [120.13, 33.38],
            '赤峰': [118.87, 42.28],
            '青島': [120.33, 36.07],
            '撫順': [123.97, 41.97],
            '玉溪': [102.52, 24.35],
            '張家口': [114.87, 40.82],
            '鹽城1': [125.153, 33.38],
            '赤峰2': [112.877, 42.28],
            '青島3': [124.303, 36.07]
        };

        var convertData = function (data) {
            console.log('data', data)
            var res = [];
            for (var i = 0; i < data.length; i++) {
                var geoCoord = geoCoordMap[data[i].name];
                if (geoCoord) {
                    // console.log('geoCoord', geoCoord)
                    res.push({
                        name: data[i].name + '服務(wù)站',
                        value: geoCoord.concat(data[i].value),
                        content: data[i].content,
                    });

                }
            }
            return res;
        };

        option = {
            tooltip: {
                trigger: 'item',
                formatter: function (b) {
                    // '框杜'
                    //  console.log('b',b)
                    return b.data.content
                },
            },
            bmap: {
                center: [104.114129, 37.550339],
                zoom: 5,
                roam: true,
                mapStyle: {
                    styleJson: [{
                        'featureType': 'water',
                        'elementType': 'all',
                        'stylers': {
                            'color': '#d1d1d1'
                        }
                    }, {
                        'featureType': 'land',
                        'elementType': 'all',
                        'stylers': {
                            'color': '#f3f3f3'
                        }
                    }, {
                        'featureType': 'railway',
                        'elementType': 'all',
                        'stylers': {
                            'visibility': 'off'
                        }
                    }, {
                        'featureType': 'highway',
                        'elementType': 'all',
                        'stylers': {
                            'color': '#fdfdfd'
                        }
                    }, {
                        'featureType': 'highway',
                        'elementType': 'labels',
                        'stylers': {
                            'visibility': 'off'
                        }
                    }, {
                        'featureType': 'arterial',
                        'elementType': 'geometry',
                        'stylers': {
                            'color': '#fefefe'
                        }
                    }, {
                        'featureType': 'arterial',
                        'elementType': 'geometry.fill',
                        'stylers': {
                            'color': '#fefefe'
                        }
                    }, {
                        'featureType': 'poi',
                        'elementType': 'all',
                        'stylers': {
                            'visibility': 'off'
                        }
                    }, {
                        'featureType': 'green',
                        'elementType': 'all',
                        'stylers': {
                            'visibility': 'off'
                        }
                    }, {
                        'featureType': 'subway',
                        'elementType': 'all',
                        'stylers': {
                            'visibility': 'off'
                        }
                    }, {
                        'featureType': 'manmade',
                        'elementType': 'all',
                        'stylers': {
                            'color': '#d1d1d1'
                        }
                    }, {
                        'featureType': 'local',
                        'elementType': 'all',
                        'stylers': {
                            'color': '#d1d1d1'
                        }
                    }, {
                        'featureType': 'arterial',
                        'elementType': 'labels',
                        'stylers': {
                            'visibility': 'off'
                        }
                    }, {
                        'featureType': 'boundary',
                        'elementType': 'all',
                        'stylers': {
                            'color': '#fefefe'
                        }
                    }, {
                        'featureType': 'building',
                        'elementType': 'all',
                        'stylers': {
                            'color': '#d1d1d1'
                        }
                    }, {
                        'featureType': 'label',
                        'elementType': 'labels.text.fill',
                        'stylers': {
                            'color': '#999999'
                        }
                    }]
                }
            },
            series: [
                {
                    type: 'scatter',
                    coordinateSystem: 'bmap',
                    data: convertData(data),
                    symbolSize: function (val) {   
                        if(val[2]===134) 
                        return val[2] /10; 
                    },
                    encode: {
                        value: 2
                    },
                    label: {
                        formatter: '赔嚎',
                        position: 'right',
                        show: false
                    },
                    emphasis: {
                        label: {
                            show: true
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: 'red',   //紫色
                        }
                    }

                },
                {
                    type: 'scatter',
                    coordinateSystem: 'bmap',
                    data: convertData(data),
                    symbolSize: function (val) {
                        console.log('val2', val)
                        if(val[2]===133)
                        return val[2] /10;
                    },
                    encode: {
                        value: 133
                    },
                    label: {
                        formatter: '现喳',
                        position: 'right',
                        show: false
                    },
                    emphasis: {
                        label: {
                            show: true
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: 'green',  
                        }
                    }

                },
               
                {
                    type: 'effectScatter',
                    coordinateSystem: 'bmap',
                    data: convertData(data.sort(function (a, b, c) {
                        console.log(a, b, c)
                        return b.value - a.value;
                    }).slice(0, 3)),
                    symbolSize: function (val) {
                        console.log('b-a', val)
                        return val[2] / 10;
                    },
                    encode: {
                        value: 2
                    },
                    showEffectOn: 'render',
                    rippleEffect: {
                        brushType: 'stroke'
                    },
                    hoverAnimation: true,
                    label: {
                        formatter: '怔接',
                        position: 'right',
                        show: true
                    },
                    itemStyle: {
                        shadowBlur: 10,
                        // shadowColor: '#333'
                        color:'#333'
                    },
                    zlevel: 1
                }
            ]
        };

        if (option && typeof option === 'object') {
            myChart.setOption(option);
        }

    </script>
</body>

</html> 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市凹耙,隨后出現(xiàn)的幾起案子姿现,更是在濱河造成了極大的恐慌,老刑警劉巖肖抱,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件备典,死亡現(xiàn)場離奇詭異,居然都是意外死亡意述,警方通過查閱死者的電腦和手機提佣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荤崇,“玉大人镐依,你說我怎么就攤上這事√焓裕” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵然低,是天一觀的道長喜每。 經(jīng)常有香客問我务唐,道長,這世上最難降的妖魔是什么带兜? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任枫笛,我火速辦了婚禮,結(jié)果婚禮上刚照,老公的妹妹穿的比我還像新娘刑巧。我一直安慰自己,他們只是感情好无畔,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布啊楚。 她就那樣靜靜地躺著,像睡著了一般浑彰。 火紅的嫁衣襯著肌膚如雪恭理。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天郭变,我揣著相機與錄音颜价,去河邊找鬼。 笑死诉濒,一個胖子當著我的面吹牛周伦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播未荒,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼专挪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了茄猫?” 一聲冷哼從身側(cè)響起狈蚤,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎划纽,沒想到半個月后脆侮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡勇劣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年靖避,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片比默。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡幻捏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出命咐,到底是詐尸還是另有隱情篡九,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布醋奠,位于F島的核電站榛臼,受9級特大地震影響伊佃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沛善,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一航揉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧金刁,春花似錦帅涂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抵屿,卻和暖如春庆锦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背轧葛。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工搂抒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人尿扯。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓求晶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親衷笋。 傳聞我的和親對象是個殘疾皇子芳杏,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

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