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