設(shè)計(jì)思路:Android平臺(tái)上的開源離線地圖應(yīng)用
譯文為了實(shí)現(xiàn)智能手機(jī)之上位置應(yīng)用程序的全部潛能,此類應(yīng)用應(yīng)當(dāng)支持離線使用模式并提供原始地圖圖形。有鑒于此,創(chuàng)建一套自定義離線地圖無疑是***的選擇。在這方面我們同樣面臨著挑戰(zhàn),即以這一思路為前提構(gòu)建一套獨(dú)立庫。作為實(shí)踐,我開發(fā)出了mAppWidget代碼庫。
我們最近決定對(duì)其進(jìn)行開源,而且如今mAppWidget已經(jīng)向每一位需要構(gòu)建移動(dòng)定制離線地圖解決方案的用戶開放交付。
我們的方案有何不同?
作為一套旨在快速設(shè)計(jì)并實(shí)現(xiàn)自定義地圖集成的方案,mAppWidget利用圖形技術(shù)將眾多小型圖像(即板塊)生成一幅大型地圖。這套方案能夠在節(jié)約內(nèi)存容量的同時(shí)改善實(shí)時(shí)性能,這一點(diǎn)對(duì)于移動(dòng)設(shè)備而言極為重要。圖形的縮放不再受限于輸入地圖圖像的固有分辨率。當(dāng)走出圖像***放大水平之后,該庫還能夠利用數(shù)字化縮放機(jī)制實(shí)現(xiàn)進(jìn)一步放大。與此同時(shí),mAppWidget并不僅僅是一套板塊引擎。概括而言,這套方案能夠利用簡(jiǎn)單的方式通過GPS地圖校準(zhǔn)機(jī)制顯著用戶的當(dāng)前位置。
為什么要自行創(chuàng)建板塊?
擁有自己的板塊允許大家將任意圖像轉(zhuǎn)化為一幅地圖(例如旅行地圖、游樂園示意等等),并以此為開發(fā)者提供更多定制化設(shè)計(jì)空間。當(dāng)大家需要在地圖上顯示更為具體、詳盡或者臨時(shí)性物體時(shí)——例如標(biāo)游樂園當(dāng)中某些注銷設(shè)施的位置——或者為地圖或者應(yīng)用程序設(shè)計(jì)方案提供理想的外觀及使用感受時(shí),這將成為一項(xiàng)毋庸置疑的優(yōu)勢(shì)。
為什么選擇開源?
在Lemberg網(wǎng)站上,我們對(duì)于自己的開發(fā)項(xiàng)目充滿激情。我本人和同事們經(jīng)常會(huì)就開發(fā)技巧、提示以及原型等層面上交流心得體會(huì),并將其融入mAppWidget、Drupal模塊以及其它開源技術(shù)項(xiàng)目當(dāng)中。為什么不把這些項(xiàng)目在社區(qū)中作為實(shí)用的贈(zèng)品與大家分享?考慮到這一點(diǎn),我們決定通過自己的博客發(fā)布文章,并對(duì)代碼進(jìn)行開源。
除此之外,我們還引用了大量出色的開源解決方案,因此對(duì)我們的部分成果進(jìn)行開源意味著為整個(gè)業(yè)界作出回饋。而這也正是開源精神的實(shí)際體現(xiàn)。
您也可以喜愛mAppWidget,如果……
無論身為Android開發(fā)人員還是應(yīng)用程序使用者,這套庫的主要目標(biāo)在于削減開發(fā)時(shí)耗,進(jìn)而降低離線地圖產(chǎn)品的開發(fā)成本。
mAppWidget主要用于旅游及醫(yī)療行業(yè),在設(shè)置選項(xiàng)中包含私人度假村、滑雪場(chǎng)、戶外活動(dòng)、城市指南應(yīng)用以及國家公園等要求配備地圖/定位追蹤等功能性解決方案、但又不具備互聯(lián)網(wǎng)連接的環(huán)境。
參與mAppWidget項(xiàng)目開發(fā)
要了解更多與mAppWidget項(xiàng)目相關(guān)的細(xì)節(jié)信息并下載代碼成果,請(qǐng)點(diǎn)擊此處訪問GitHub上的對(duì)應(yīng)頁面。此外,大家還可以點(diǎn)擊此處通過Google Play應(yīng)用市場(chǎng)下載mAppWidget的演示版本。要獲取更多與代碼庫使用方式相關(guān)的信息以及常見問題的解答,請(qǐng)點(diǎn)擊此處查看用戶指南。
未來之發(fā)展方向
隨著新型技術(shù)與方案的不斷興起,我希望能夠進(jìn)一步對(duì)mAppWidget應(yīng)用作出改進(jìn)。就目前而言,我們正專注于為其它相關(guān)開源項(xiàng)目作出貢獻(xiàn),其中包括DrupalCon iOS與Android應(yīng)用程序外加多種Drupal模塊,因此敬請(qǐng)大家期待我們的后續(xù)信息。與此同時(shí),也歡迎大家加入到mAppWidget的開發(fā)當(dāng)中,讓每個(gè)人都能為開源事業(yè)盡自己的一份力量。