美文网首页
给小白老婆写的简易地图显示指南(基于Echarts)

给小白老婆写的简易地图显示指南(基于Echarts)

作者: 精益的Tang | 来源:发表于2018-06-30 11:35 被阅读0次
    简易地图显示

    零 准备工作

    • 百度“Echarts”,下载完整版放好,比如放到 'E:\Echarts' 下
    • 把空的“地图简易模板.html”文件拷到同一文件夹下
    • 注意用notepad++软件打开html文件

    壹 数据准备

    数据准备分为两部分:一是地图显示数据,二是地图坐标数据

    地图显示数据准备

    • 地图显示数据的基本格式为:{name: '北京', value: 10}
    • 可以在excel中处理好,用Echarts提供的表格工具进行转换
      数据准备
    • 将转换好的数据替换代码中的var data = []部分,或存为json共调用(方法略)

    地图坐标数据准备

    • 地图坐标数据的基本格式为:'北京': [116.335413, 40.053543]
    • 可以用工具拾取坐标系统获取百度坐标,在线的批量地址转换坐标工具好像被封了,找到了可以联系我
    • 按格式依次整理好数据,没找到现成的批量转换工具,如果点不多的话,可以手动处理下
    • 将转换好的数据替换代码中的var geoCoordMap = {}部分,或存为json共调用(方法略)

    贰 地图初始设置

    • option = {}下的title中设置图名、副图名、链接
        title: {
            text: '地图显示',  // 图名标题
            subtext: '模板使用指南',  // 图名副标题
            sublink: 'https://www.jianshu.com/p/a8377b25514e',  //汤的地图使用简易教程链接
            left: 'center'
        },
    
    • option = {}下的bmap中设置初始位置、缩放、漫游
        bmap: {  // 最主要设置的代码部分
            center: [116.381346,39.88202],  // 设置初始中心位置
            zoom: 10,  // 设置初始缩放等级
            roam: true,  // 设置为可漫游
    

    叁 地图风格设置

    • 主要在option = {}下的bmap中设置地图显示要素、颜色、是否显示等
        bmap: {  // 最主要设置的代码部分
            // ......
            mapStyle: {  // 设置图面要素风格
                styleJson: [{
                    'featureType': 'water',
                    'elementType': 'all',
                    'stylers': {
                        'color': '#CAE1FF'
                    }
                }, {
                    'featureType': 'land',
                    'elementType': 'all',
                    'stylers': {
                        'color': '#EAEAEA'
                    }
                }, {
                    'featureType': 'railway',
                    'elementType': 'all',
                    'stylers': {
                        'visibility': 'off'
                    }
                }, {
                    'featureType': 'highway',
                    'elementType': 'all',
                    'stylers': {
                        'color': '#C5C1AA'
                    }
                }, {
                    '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': '#404040'
                    }
                }, {
                    'featureType': 'building',
                    'elementType': 'all',
                    'stylers': {
                        'color': '#CD2626'
                    }
                }, {
                    'featureType': 'label',  // 地图标签,字填充
                    'elementType': 'labels.text.fill',
                    'stylers': {
                        'color': '#999999'
                    }
                }]
            }
        }
    

    肆 数据显示效果

    • series中设置数据的显示效果,比如最简单的散点图
        series : [
            {
                name: '显示图名',
                type: 'scatter',
                coordinateSystem: 'bmap',
                data: convertData(data),
                symbolSize: function (val) {
                    return val[2] / 10;
                },
                label: {
                    normal: {
                        formatter: '{b}',
                        position: 'right',
                        show: false
                    },
                    emphasis: {
                        show: true
                    }
                },
                itemStyle: {
                    normal: {
                        color: 'purple'
                    }
                }
            },
            {
                name: 'Top 5',
                type: 'effectScatter',
                coordinateSystem: 'bmap',
                data: convertData(data.sort(function (a, b) {
                    return b.value - a.value;
                }).slice(0, 6)),
                symbolSize: function (val) {
                    return val[2] / 10;
                },
                showEffectOn: 'render',
                rippleEffect: {
                    brushType: 'stroke'
                },
                hoverAnimation: true,
                label: {
                    normal: {
                        formatter: '{b}',
                        position: 'right',
                        show: true
                    }
                },
                itemStyle: {
                    normal: {
                        color: 'blue',  // 设置颜色
                        shadowBlur: 10,
                        shadowColor: '#333'
                    }
                },
                zlevel: 1
            }
        ]
    

    留几个问题待解决:

    1. 地图的参数设置在官网的哪个地方?
    2. 如何批量处理地址数据的坐标转换?

    相关文章

      网友评论

          本文标题:给小白老婆写的简易地图显示指南(基于Echarts)

          本文链接:https://www.haomeiwen.com/subject/yqltuftx.html