geojson怎么添加到地图?geojson对象怎么理解?

GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法,那大家知道geojson怎么添加到地图?下面来我们就来给大家讲解一下geojson添加到地图的方法。

geojson数据的生成有很多种方式,在此介绍两种:通过gdal直接转换以及通过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>

geojson对象怎么理解?

GeoJSON总是由一个单独的对象组成。这个对象(指的是下面的GeoJSON对象)表示几何、特征或者特征集合。

GeoJSON对象可能有任何数目成员(名/值对)。

GeoJSON对象必须由一个名字为"type"的成员。这个成员的值是由GeoJSON对象的类型所确定的字符串。

type成员的值必须是下面之一:"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "GeometryCollection", "Feature", 或者 "FeatureCollection"。这儿type成员值必须如这儿所示。

GeoJSON对象可能有一个可选的"crs"成员,它的值必须是一个坐标参考系统的对象。

GeoJSON对象可能有一个"bbox"成员,它的值必须是边界框数组。

GeoJSON对象可以表示几何、特征或者特征集合,GeoJSON能够支持好几种几何类型,比如点面线等,作为开发人员一定要熟练使用哦!最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

java怎么做大文件包的读写?Java如何读取大文件?

json数组怎么拼接?json数据如何解析?

elasticsearch怎么用?elasticsearch怎么理解?