本文首發(fā):http://www.meibug.net/web/142.html
GeoJSON
最近使用EChats開發(fā)地圖酥宴,其中地圖數(shù)據(jù)使用的規(guī)范為GeoJSON竿刁,從名字來看出來和JSON差不多梯嗽,它確實(shí)是JSON Object
簡介
GeoJSON官網(wǎng):https://www.geojson.org
GeoJSON準(zhǔn)確的說是一種數(shù)據(jù)格式,它遵循的最新規(guī)范是RFC 7946负拟,格式如下:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
}
可以看出鸠信,格式中三個(gè)重要的對象:type
,geometry
攒岛,properties
這三個(gè)對象是geoJSON的基礎(chǔ)
GeoJSON中一共有7種幾何類型
- Point
- MultiPoint
- LineString
- MultiLineString
- Polygon
- MultiPolygon
- GeometryCollection
GeoJSON中一共有9種類型(<u>指的是數(shù)據(jù)類型</u>)赖临,除了以上7種外,還有以下幾種
- Feature
- FeatureCollection
GeoJSON中的所有集合類型是有序的JSON數(shù)組
GeoJSON對象:
- 必須是一個(gè)JSON Object
- 必須包含屬性
type
灾锯,成員的<u>值</u>必須是以上9種數(shù)據(jù)類型之一 - GeoJSON可以有一個(gè)
bbox
成員兢榨,但是bbox
的值必須是一個(gè)邊界數(shù)組
.. 留一個(gè)坑,以后再填
在EChats中地圖使用GeoJSON
我在使用從第三方下載的GeoJSON數(shù)據(jù)中遇到一個(gè)問題顺饮,顯示在地圖上的標(biāo)簽位置無法調(diào)整色乾,導(dǎo)致文字重疊在了一起
我嘗試調(diào)整了properties
中的center
屬性,結(jié)果不行领突,由于沒有文檔暖璧,所以我只能嘗試調(diào)整properties
中的cp
屬性試試,畢竟我也不知道這是干什么的君旦,結(jié)果還真的成功了澎办,cp
是一個(gè)數(shù)組嘲碱,由兩個(gè)值組成,第一個(gè)值代表主軸局蚀,第二個(gè)值代表交叉軸麦锯,調(diào)整之后就OK了
這里給一個(gè)具體的GeoJSON文件參考:https://gitee.com/rick233/echarts-demo/raw/master/data/geojson-hn-xy.js,此數(shù)據(jù)可以畫出信陽市8縣2區(qū)的地圖