Posted on 2015-07-19 13:31
Onway 閱讀(761)
評論(0) 編輯 收藏 引用 所屬分類:
碼兒快跑
需求:
地圖上Grid對象表示一個40*40的柵格,除了經緯度以外,還有一個指標值如信號強度,以及一個根據指標值確定的渲染顏色。
Road對象是一條矢量道路,由多個經緯度點組成。
如果道路穿過某個柵格,則將穿過柵格的那一小段道路按柵格的顏色值畫出來,沒有穿過柵格的其他道路部分,用黑色渲染。
第一次做法:
對道路進行預處理,將道路上的各個點歸類到其所屬的柵格內。
然后將柵格內的點用線連起來。
完成后一看地圖,掉坑里面了。
1,一條道路穿過某個柵格,柵格內可能只有一個點,連不成線;
2,一條直線道路,只記錄了開頭和結尾,中間穿過的柵格就沒點了
后來想到用補點的方式,兩個點超過20米就補一個
簡單試了一下,效果不好就開始用第二種方法
第二次做法:
先將道路在空白bitmap上畫出來,顏色用黑色;
再將柵格在另一空白的bitmap上畫出來,顏色用原本的柵格顏色;
對比兩張bitmap,像素同時不為0的就是相交像素,用柵格的像素顏色復制到道路的像素里面;
效果杠杠的。
其他方法:
在討論組里面說了以后,發現另一種是預處理做法
判斷兩點之間跟柵格的相交,將相交點記錄到所在柵格里面,這比較適合后臺。
以后還是默默寫博客吧!