2 回答

TA貢獻1條經驗 獲得超3個贊
首先lines-bus.json是一個二維數組,里面每一個一維數組存儲一輛公交車的軌跡,其中第一個和第二個元素為初始坐標(經緯度*10000),往后每兩個元素為一組表示經緯度的偏移量(*10000)。
var?busLines?=?[].concat.apply([],?data.map(function?(busLine,?idx)?{}))是將data數組映射到一個新的數組里,即將lines-bus.json轉換為真實的經緯度坐標。
var?pt?=?[busLine[i],?busLine[i?+?1]];為起始點坐標。
if?(i?>?0)?{
? ? ? ? ? ? ? ?pt?=?[prevPt[0]?+?pt[0], prevPt[1]?+?pt[1] ];
????????????}計算加上偏移量后的經緯度*10000
prevPt?=?pt;將當前坐標賦值給上一個點坐標,繼續循環;
points.push([pt[0]?/?1e4,?pt[1]?/?1e4]);坐標小數點前移四位得到真實的經緯度值,存儲到points數組里。
?return?{
????????????coords:?points,
????????????lineStyle:?{
????????????????normal:?{
????????????????????color:?echarts.color.modifyHSL('#5A94DF',?Math.round(hStep?*?idx))
????????????????}
????????????}
????????};為新數組的存儲格式,新的數組每一個元素是一個對象。
添加回答
舉報