下载全国各省市json数据

4,845 阅读2分钟

(区域json)[datav.aliyun.com/tools/atlas…]

画河南省区域图

loadCityMap: function () {
        var me = this;
        $.getJSON("/resources/json/henan.json", function (data) {
            echarts.registerMap('henan', data);
            var chinaGeoCoordMap = {
                '三门峡市': [111.181262093, 34.7833199411],
                '信阳市': [114.085490993, 32.1285823075],
                "南阳市": [112.542841901, 33.0114195691],
                '周口市': [114.654101942, 33.6237408181],
                "商丘市": [115.641885688, 34.4385886402],
                "安阳市": [114.351806508, 36.1102667222],
                "平顶山市": [113.300848978, 33.7453014565],
                "开封市": [114.351642118, 34.8018541758],
                '新乡市': [113.912690161, 35.3072575577],
                '洛阳市': [112.447524769, 34.6573678177],
                '漯河市': [114.0460614, 33.5762786885],
                '濮阳市': [115.026627441, 35.7532978882],
                '焦作市': [113.211835885, 35.234607555],
                '许昌市': [113.83531246, 34.0267395887],
                '郑州市': [113.64964385, 34.7566100641],
                '驻马店市': [114.049153547, 32.9831581541],
                '鹤壁市': [114.297769838, 35.7554258742]
            };
            var chinaDatas = [
                [{
                    name: '三门峡市',
                    value: 1
                }], [{
                    name: '信阳市',
                    value: 3
                }], [{
                    name: '南阳市',
                    value: 1
                }], [{
                    name: '周口市',
                    value: 6
                }], [{
                    name: '商丘市',
                    value: 0
                }], [{
                    name: '安阳市',
                    value: 0
                }], [{
                    name: '平顶山市',
                    value: 0
                }], [{
                    name: '开封市',
                    value: 9
                }], [{
                    name: '新乡市',
                    value: 0
                }], [{
                    name: '洛阳市',
                    value: 5
                }], [{
                    name: '漯河市',
                    value: 0
                }], [{
                    name: '濮阳市',
                    value: 0
                }], [{
                    name: '焦作市',
                    value: 1
                }], [{
                    name: '许昌市',
                    value: 0
                }], [{
                    name: '郑州市',
                    value: 0
                }], [{
                    name: '驻马店市',
                    value: 0
                }], [{
                    name: '鹤壁市',
                    value: 0
                }]
            ];
            var convertData = function (data) {
                var res = [];
                for (var i = 0; i < data.length; i++) {
                    var dataItem = data[i];
                    var toCoord = chinaGeoCoordMap[dataItem[0].name];
                    var fromCoord = [113.64964385, 34.7566100641];
                    if (fromCoord && toCoord) {
                        res.push([{
                            coord: fromCoord,
                            value: dataItem[0].value
                        }, {
                            coord: toCoord,
                        }]);
                    }
                }
                return res;
            };
            var series = [];
            [['郑州市', chinaDatas]].forEach(function (item, i) {
                console.log(item);
                series.push({
                        type: 'lines',
                        zlevel: 2,
                        effect: {
                            show: true,
                            period: 4, //箭头指向速度,值越小速度越快
                            trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
                            symbol: 'arrow', //箭头图标
                            symbolSize: 5 //图标大小
                        },
                        lineStyle: {
                            normal: {
                                width: 1, //尾迹线条宽度
                                opacity: 1, //尾迹线条透明度
                                curveness: .3 //尾迹线条曲直度
                            }
                        },
                        data: convertData(item[1])
                    }, {
                        type: 'effectScatter',
                        coordinateSystem: 'geo',
                        zlevel: 2,
                        rippleEffect: { //涟漪特效
                            period: 4, //动画时间,值越小速度越快
                            brushType: 'stroke', //波纹绘制方式 stroke, fill
                            scale: 4 //波纹圆环最大限制,值越大波纹越大
                        },
                        label: {
                            normal: {
                                show: true,
                                position: 'right', //显示位置
                                offset: [5, 0], //偏移设置
                                formatter: function (params) {//圆环显示文字
                                    return params.data.name;
                                },
                                fontSize: 13
                            },
                            emphasis: {
                                show: true
                            }
                        },
                        symbol: 'circle',
                        symbolSize: function (val) {
                            return 5 + val[2] * 5; //圆环大小
                        },
                        itemStyle: {
                            normal: {
                                show: false,
                                color: '#1b97db'
                            }
                        },
                        data: item[1].map(function (dataItem) {
                            return {
                                name: dataItem[0].name,
                                value: chinaGeoCoordMap[dataItem[0].name].concat([dataItem[0].value])
                            };
                        })
                    },
                    //被攻击点
                    {
                        type: 'scatter',
                        coordinateSystem: 'geo',
                        zlevel: 2,
                        rippleEffect: {
                            period: 4,
                            brushType: 'stroke',
                            scale: 4
                        },
                        label: {
                            normal: {
                                show: true,
                                position: 'right',
                                //offset:[5, 0],
                                color: '#09d3eb',
                                formatter: '{b}',
                                textStyle: {
                                    color: "#09d3eb"
                                }
                            },
                            emphasis: {
                                show: true,
                                color: "#09d3eb"
                            }
                        },
                        symbol: 'pin',
                        symbolSize: 50,
                        data: [{
                            name: item[0],
                            value: chinaGeoCoordMap[item[0]].concat([10]),
                        }]
                    }
                );
            });
            option = {
                tooltip: {
                    trigger: 'item',
                    backgroundColor: 'rgba(166, 200, 76, 0.82)',
                    borderColor: '#FFFFCC',
                    showDelay: 0,
                    hideDelay: 0,
                    enterable: true,
                    transitionDuration: 0,
                    extraCssText: 'z-index:100',
                    formatter: function (params, ticket, callback) {
                        //根据业务自己拓展要显示的内容
                        var res = "";
                        var name = params.name;
                        var value = params.value[params.seriesIndex + 1];
                        if (value !== undefined) {
                            res = "<span style='color:#fff;'>" + name + "</span><br/>人数:" + value;
                            return res;
                        }

                    }
                },
                visualMap: { //图例值控制
                    // min: 0,
                    max: 1000,
                    calculable: true,
                    show: false,
                    color: ['#09d3eb'],
                    textStyle: {
                        color: '#fff'
                    }
                },
                geo: {
                    map: 'henan',
                    zoom: .8,
                    label: {
                        emphasis: {
                            show: false
                        }
                    },
                    roam: true, //是否允许缩放
                    itemStyle: {
                        normal: {
                            color: 'rgba(23, 17, 47, .5)', //地图背景色
                            borderColor: 'rgba(255,255,255,.5)', //省市边界线00fcff 516a89
                            borderWidth: 2,
                            // shadowColor: 'rgba(255,135,12, 0.9)',
                            shadowBlur: 10
                        },
                        emphasis: {
                            color: 'rgba(37, 43, 61, .5)' //悬浮背景
                        }
                    }
                },
                series: series
            };
            var sellCityMap = echarts.init(document.getElementById('sell_city_map'));
            sellCityMap.setOption(option);
        });
    },

需要引echrt和china is

<script src="/resources/3rd-js/echarts-v3.22/china.js?ver=<%=version%>"></script>
<script src="/resources/3rd-js/echarts-v3.22/echarts.js?ver=<%=version%>"></script>