前段時間,項(xiàng)目要開發(fā)熱力圖插件,研究了heatmap.js,打算好好總結(jié)一下。
本文主要有以下幾部分內(nèi)容:
- 部分源碼理解
- 如何遷移到v2.0
- v2.0官方文檔譯文
關(guān)于heatmap.js介紹,請看這里: http://www.oschina.net/p/heatmap-js
目前,對于熱力圖的開發(fā),百度、高德開發(fā)平臺上使用的都是這款JS開源庫。當(dāng)然,現(xiàn)在還有我們公司:P
百度示例:http://developer.baidu.com/map/jsdemo.htm#c1_15
高德示例:http://lbs.amap.com/api/javascript-api/example/layers/heatmap/
PS:本人對JS只能算是初級水平,剛開始寫熱力圖插件的時候,真是一頭霧水。充分利用搜索引擎后,在百度的開源庫發(fā)現(xiàn)了這個(示例源文件),總算有點(diǎn)眉目了。替換了地圖實(shí)例對象,剩下的難點(diǎn)是圖層處理和像素坐標(biāo)轉(zhuǎn)換,刪刪改改,也弄出了插件的1.0版。v2.0版本的內(nèi)容與v1.0相比還是有很多不同的,經(jīng)過大半天廢寢忘食的努力,終于遷移到了2.0(準(zhǔn)確的說是v2.0.5),也算對得起忘吃的午飯。
部分源碼理解
參數(shù)max
經(jīng)過源碼閱讀和測試,數(shù)據(jù)集合中的max參數(shù)表示熱力點(diǎn)權(quán)值的最大值,用于熱力顏色漸變的計算。其本質(zhì)是熱力區(qū)域內(nèi)部填充顏色的透明度。
使用到max的算式:
(value-min)/(max-min)