本文首发:http://www.meibug.net/web/142.html
GeoJSON
最近使用EChats开发地图,其中地图数据使用的规范为GeoJSON,从名字来看出来和JSON差不多,它确实是JSON Object
简介
GeoJSON官网:https://www.geojson.org
GeoJSON准确的说是一种数据格式,它遵循的最新规范是RFC 7946,格式如下:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
}
可以看出,格式中三个重要的对象:type
,geometry
,properties
这三个对象是geoJSON的基础
GeoJSON中一共有7种几何类型
- Point
- MultiPoint
- LineString
- MultiLineString
- Polygon
- MultiPolygon
- GeometryCollection
GeoJSON中一共有9种类型(<u>指的是数据类型</u>),除了以上7种外,还有以下几种
- Feature
- FeatureCollection
GeoJSON中的所有集合类型是有序的JSON数组
GeoJSON对象:
- 必须是一个JSON Object
- 必须包含属性
type
,成员的<u>值</u>必须是以上9种数据类型之一 - GeoJSON可以有一个
bbox
成员,但是bbox
的值必须是一个边界数组
.. 留一个坑,以后再填
在EChats中地图使用GeoJSON
我在使用从第三方下载的GeoJSON数据中遇到一个问题,显示在地图上的标签位置无法调整,导致文字重叠在了一起
我尝试调整了properties
中的center
属性,结果不行,由于没有文档,所以我只能尝试调整properties
中的cp
属性试试,毕竟我也不知道这是干什么的,结果还真的成功了,cp
是一个数组,由两个值组成,第一个值代表主轴,第二个值代表交叉轴,调整之后就OK了
这里给一个具体的GeoJSON文件参考:https://gitee.com/rick233/echarts-demo/raw/master/data/geojson-hn-xy.js,此数据可以画出信阳市8县2区的地图