1. 程式人生 > >開發時間軸動態掃描圖譜展示功能總結

開發時間軸動態掃描圖譜展示功能總結

  開發時間軸動態掃描圖譜展示功能已經有大約有35天了,這期間遇到過不少的困難和挑戰,同時也收穫頗豐。最初的狀態是看到後端程式碼的不知所措,看到前端程式碼的一臉茫然,這期間的過程是痛苦的,想盡快完成任務,無奈水平和能力有限,無論怎麼掙扎和努力都進度緩慢。有的時候人必須認清現實,有些事是急不來的,任何事物的發展都有其自身的邏輯和規律,搞技術開發就應該靜下心來,紮紮實實的打基礎,不可操之過急。這次開發這個功能自己學到了很多,自己以前也學習了相關的後端的知識,譬如:spring、springMVC以及mybatis等,但這次真正開始開發的時候,借鑑前輩的程式碼還是一臉茫然,根本看不懂前輩的程式碼,有些程式碼必須在前輩的指導下才能看懂,在前輩的指導下自己在查閱相關的資料加以鞏固和加強相關知識的運用,這使得我深刻認識到理論和實踐根本就是兩碼事,理論知識如何要得到深刻的認識,必須要回到技術開發的實踐。只有實際的開發才能夠確確實實的提升自己,光看書是沒有用,這兩個要有機的集合在一起,但重點還是實際的開發實踐。此外這現價段自己要不斷的進行開發經驗的積累,要注重經驗的積累,這個對於一個程式開發人員來說很重要。

其實,個人感覺後端的知識並不是特別的難,對於本次開發難點主要在前端,因為本次做的功能就是圖譜展示,所以前端是重頭戲。這其中涉及到openlayer的運用,說實話我對這個技術是陌生的,我用差不多兩週的時間才把後端所用的知識弄懂,能夠從後臺獲取到所要的圖譜,但這只是工作的第一步。第二部就是進行openlayer圖層的輪播,這個對於一個從未接觸過此技術的人來說,完全不知道該怎麼做,這期間還走了不少彎路,開始的時候前輩提示我將不同的圖層在循序的時間內設定可見和不可見就行,但自己可能是基礎知識薄弱還是自己的理解能力差的問題,我總是在新增圖層圖片的URL上想辦法,想在此有所突破,結果可想而知,撞的頭破血流也沒有突破,所以有的時候方向錯了,在怎麼努力都是在做無用功。之後再前輩的指導下,在研讀一些公司之前相關的程式碼,借鑑一番之後就實現第二步的圖譜迴圈輪播效果的功能。
 

第三步就是新增時間軸外掛,百度不到合適的外掛,好不容易找到一個自身的bug眾多,運用的過程讓我苦不堪言。時間軸外掛給我的感覺就是總能給我帶來驚喜,總是在自己感覺要成功的時候出現bug,有的時候真的很氣餒,總是不能一帆風順,總是困難不斷。剛開始就在時間軸起始時間的賦值這塊卡住了,嘗試了自己知道的所有的方式皆以失敗告終,最後是前輩幫助我克服這個困難,用的方法很簡單就是利用javascript動態的新增和操作html元素,再次感覺到自己開發經驗的不足,可以用捉襟見肘來形容。第二次遇到的困難就是圖層中圖片總是不能一下子載入而是緩慢的逐個載入嚴重影響客戶的觀感,為此前輩的指點是做一個圖片預載入,但雖然解決這個問題但新的問題隨之出現,載入的圖層圖片在首次播放時總是出現閃動,之後就不出現這種情況,中途嘗試了諸多的方法但最終皆失敗,最後前輩給的解釋是可能是openlayer內在的處理機制的問題,問題可能不出現在我這裡,為此我暫且擱置了這一問題。

 

下面進行的是時間軸外掛bug的改正,同時也要實現時間點的播放和在指定時間點圖層顯示相一致,這個需要我在外掛中進行相關的處理。首先我要讀懂外掛,開始的時候也是有困難的,但之後就大致就知道了外掛內相關函式的意思。最後進行各種測試,在谷歌瀏覽器幾乎沒有什麼問題後又改用IE瀏覽器進行測試,剛開始就出現錯誤,總是報undefined的錯誤,後來前輩指點是程式的執行循序不對,可能是某個程式先於需要提供給它引數的程式跑了起來,導致了這個錯誤,改正這個錯誤可以說該功能基本已經完成了。

最後想說的是:念念不忘,必有迴響;不忘初心,不辱使命。