準(zhǔn)備放棄以前項(xiàng)目使用的地圖引擎庫(kù)和Gis代碼到現(xiàn)在已經(jīng)有了2個(gè)月了
現(xiàn)在swMap能做基本demo一丁點(diǎn)的功能了,訪問(wèn):
www.sw2us.com/maps.php 或者
http://220.196.42.107/main.php當(dāng)初考慮到放棄之前的東西考慮的問(wèn)題有很多,當(dāng)然有公司的知識(shí)產(chǎn)權(quán)問(wèn)題,最主要的是之前的產(chǎn)品技術(shù)實(shí)在是設(shè)計(jì)的有點(diǎn)糟糕。做開(kāi)發(fā)的知道看別人的代碼并且在這基礎(chǔ)上去發(fā)揚(yáng)光大這時(shí)間很頭大和痛苦的事情,特別是碰到那些原本就是比較封閉和差勁的東西。
憑借自己的的很多想法開(kāi)始開(kāi)發(fā)swMap項(xiàng)目,以前的東西都拋棄沒(méi)有做參考,從原始地圖加工設(shè)計(jì)、地圖渲染服務(wù)器開(kāi)發(fā)、然后就是基于Pc和Wince的客戶端開(kāi)發(fā),支持本地和遠(yuǎn)程加載地圖的方式,重新設(shè)計(jì)的數(shù)據(jù)存儲(chǔ)方式除了保留簡(jiǎn)單的網(wǎng)格存儲(chǔ)和搜尋,已經(jīng)把地圖數(shù)據(jù)進(jìn)行省份的分割,而不像以前必須加載單獨(dú)的一個(gè)全國(guó)地圖數(shù)據(jù)包;地圖網(wǎng)格也設(shè)計(jì)成了多網(wǎng)格大小形式,以便支持同一個(gè)地圖文件中任意多的縮放比和地圖層。
開(kāi)發(fā)總是很辛苦,每天都是要做到夜深人靜
學(xué)習(xí)了很多東西,思考了很多東西,反復(fù)的也有很多,最終還是憑借自己比較寬的知識(shí)面,運(yùn)用了很多opensource的技術(shù),時(shí)間和效率當(dāng)然是非常重要的,所以沒(méi)有自己去重新實(shí)現(xiàn)一些基礎(chǔ)的東西,比如matrix就是從cairo庫(kù)中直接抄過(guò)來(lái)的。
在用c++開(kāi)發(fā)地圖服務(wù)器和客戶端時(shí)候也考慮了不同的通信方式和操作系統(tǒng)環(huán)境,盡可能的可以支持更多的運(yùn)行環(huán)境。
原本計(jì)劃在昨晚wince版本之后馬上支持symbian操作系統(tǒng),但對(duì)symbian的開(kāi)發(fā)研究了之后讓我大失所望,其開(kāi)發(fā)是非常低效的且通用性能太差,后來(lái)網(wǎng)上得知nokia馬上將拋棄symbian而懷抱linux了,這令我我馬上考慮了移植linux的想法
很多人跟我提到靜態(tài)網(wǎng)頁(yè)地圖方式,當(dāng)然我不能做到像google,openlayers這么強(qiáng)的客戶端端,也沒(méi)精力去支持ogc那么的gis協(xié)議在地圖服務(wù)器上,所以能演示基礎(chǔ)的地圖功能開(kāi)發(fā)了php的展示端。
flex和sliverlight都是非常好的技術(shù),但對(duì)于ms一直沒(méi)有好感,所以flex形成了我選擇另一個(gè)展示客戶端的想法。
網(wǎng)上下了一堆的flex數(shù)據(jù),前后從接觸actionscript到做好swFlex客戶端一共花了3天時(shí)間,發(fā)覺(jué)越來(lái)越喜歡這個(gè)東西了,看來(lái)以后的前端開(kāi)發(fā)要全換成flex平臺(tái)了。
目前做得swMap的功能非常有限,地圖處理也是很簡(jiǎn)單,甚至連文本標(biāo)注都沒(méi)有添加,只是提供了25個(gè)圖層16級(jí)別縮放比在客戶端展示。
我想待我有時(shí)間,我將這些都會(huì)完善起來(lái)
原本很多帶開(kāi)發(fā)的技術(shù)也沒(méi)有去做,比如agg,地圖4叉樹(shù)、RTree,A*路由算法
朋友給我的幾個(gè)Gps模塊設(shè)備這幾天要調(diào)通并放置到地圖上去