需求:
地圖上Grid對(duì)象表示一個(gè)40*40的柵格,除了經(jīng)緯度以外,還有一個(gè)指標(biāo)值如信號(hào)強(qiáng)度,以及一個(gè)根據(jù)指標(biāo)值確定的渲染顏色。
Road對(duì)象是一條矢量道路,由多個(gè)經(jīng)緯度點(diǎn)組成。
如果道路穿過(guò)某個(gè)柵格,則將穿過(guò)柵格的那一小段道路按柵格的顏色值畫(huà)出來(lái),沒(méi)有穿過(guò)柵格的其他道路部分,用黑色渲染。
第一次做法:
對(duì)道路進(jìn)行預(yù)處理,將道路上的各個(gè)點(diǎn)歸類到其所屬的柵格內(nèi)。
然后將柵格內(nèi)的點(diǎn)用線連起來(lái)。
完成后一看地圖,掉坑里面了。
1,一條道路穿過(guò)某個(gè)柵格,柵格內(nèi)可能只有一個(gè)點(diǎn),連不成線;
2,一條直線道路,只記錄了開(kāi)頭和結(jié)尾,中間穿過(guò)的柵格就沒(méi)點(diǎn)了
后來(lái)想到用補(bǔ)點(diǎn)的方式,兩個(gè)點(diǎn)超過(guò)20米就補(bǔ)一個(gè)
簡(jiǎn)單試了一下,效果不好就開(kāi)始用第二種方法
第二次做法:
先將道路在空白bitmap上畫(huà)出來(lái),顏色用黑色;
再將柵格在另一空白的bitmap上畫(huà)出來(lái),顏色用原本的柵格顏色;
對(duì)比兩張bitmap,像素同時(shí)不為0的就是相交像素,用柵格的像素顏色復(fù)制到道路的像素里面;
效果杠杠的。
其他方法:
在討論組里面說(shuō)了以后,發(fā)現(xiàn)另一種是預(yù)處理做法
判斷兩點(diǎn)之間跟柵格的相交,將相交點(diǎn)記錄到所在柵格里面,這比較適合后臺(tái)。
以后還是默默寫博客吧!

