zoukankan      html  css  js  c++  java
  • eCharts添加自定义geojson数据实现地图展示

    概述:

    当初看到echarts的地图的时候感觉可以做点什么,但是一直米有实施,最近刚好用到了,就研究了研究,在echarts中添加了自定义的geojson数据,实现数据的地图展示。


    geojson数据生成:

    geojson数据的生成有很多种方式,在此介绍两种:1、通过gdal直接转换;2、通过geoserver生成。

    1、通过gdal

    通过gdal生成可参考文章GDAL的java环境配置以及将shp转换为json

    2、通过geojson

    在图层预览里面选择geojson即可,如下图。



    展示实现:

    实现代码如下:

    <!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <title>ECharts</title>
        <style>
            html,body,#main{
                padding: 0px;
                margin: 0px;
                height: 100%;
                overflow: hidden;
            }
        </style>
    </head>
    <body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main"></div>
    <!-- ECharts单文件引入 -->
    <script src="../../plugin/echart/build/dist/echarts.js"></script>
    <script src="../../plugin/jquery/jquery-1.8.3.js"></script>
    <script type="text/javascript">
        require.config({
            paths: {
                echarts: '../../plugin/echart/build/dist'
            }
        });
        require(
                [
                    'echarts',
                    'echarts/chart/map'
                ],
                function (ec) {
                    // 基于准备好的dom,初始化echarts图表
                    var myChart = ec.init(document.getElementById('main'));
                    var cityMap = {
                        "中国": "province",
                        "省会": "capital"
                    };
                    var mapType = [];
                    var mapGeoData = require('echarts/util/mapData/params');
    				for (var city in cityMap) {
                         mapType.push(city);
                         // 自定义扩展图表类型
                         mapGeoData.params[city] = {
                             getGeoJson: (function (c) {
                                 var geoJsonName = cityMap[c];
                                 return function (callback) {
                                     $.getJSON('data/' + geoJsonName + '.geojson', callback);
                                 }
                             })(city)
                         }
                    }
                    var option = {
                        series : [
                            {
                                name: 'China Map',
                                type: 'map',//地图类型
                                mapType: '中国',
                                selectedMode: 'single',//选择类型,
                                roam: true,//鼠标滚轮缩放
                                hoverable:false,//鼠标经过高亮
                                itemStyle: {
                                    normal: {
                                        borderWidth:1,
                                        borderColor:'#cccccc',
                                        color: '#f3f3f3',
                                        label: {
                                            show: false,
                                            textStyle: {
                                                color: '#ff0000'
                                            }
                                        }
                                    },
                                    emphasis: {                 // 也是选中样式
                                        borderWidth:1,
                                        borderColor:'#00ffff',
                                        color: '#ffffff',
                                        label: {
                                            show: true,
                                            textStyle: {
                                                color: '#ff0000'
                                            }
                                        }
                                    }
                                },
                                data:[]
                            }
                        ]
                    };
                    // 为echarts对象加载数据
                    myChart.setOption(option);
                }
        );
    </script>
    </body>
    实现后效果如下:



    ---------------------------------------------------------------------------------------------------------------

    技术博客

    http://blog.csdn.NET/gisshixisheng

    在线教程

    http://edu.csdn.Net/course/detail/799
    Github

    https://github.com/lzugis/

    联系方式

    q       q:1004740957

    e-mail:niujp08@qq.com

    公众号:lzugis15

    Q Q 群:452117357(webgis)
                 337469080(Android)


  • 相关阅读:
    poj 2049 Let it Bead(polya模板)
    poj 1286 Necklace of Beads (polya(旋转+翻转)+模板)
    poj 2226 Muddy Fields(最小点覆盖+巧妙构图)
    poj 3692 Kindergarten (最大独立集之逆匹配)
    poj 1466 Girls and Boys(二分匹配之最大独立集)
    poj 1486 Sorting Slides(二分图匹配的查找应用)
    poj 2112 Optimal Milking (二分图匹配的多重匹配)
    PHP访问控制
    OO(Object Oriented)
    重载与重写以及重构
  • 原文地址:https://www.cnblogs.com/lzugis/p/6539763.html
Copyright © 2011-2022 走看看