设计思路:Android平台上的开源离线地图应用

译文
移动开发 Android
为了实现智能手机之上位置应用程序的全部潜能,此类应用应当支持离线使用模式并提供原始地图图形。有鉴于此,创建一套自定义离线地图无疑是最好的选择。在这方面我们同样面临着挑战,即以这一思路为前提构建一套独立库。作为实践,我开发出了mAppWidget代码库。

[[134364]]

为了实现智能手机之上位置应用程序的全部潜能,此类应用应当支持离线使用模式并提供原始地图图形。有鉴于此,创建一套自定义离线地图无疑是***的选择。在这方面我们同样面临着挑战,即以这一思路为前提构建一套独立库。作为实践,我开发出了mAppWidget代码库。

 

我们最近决定对其进行开源,而且如今mAppWidget已经向每一位需要构建移动定制离线地图解决方案的用户开放交付。

 

我们的方案有何不同?

 

作为一套旨在快速设计并实现自定义地图集成的方案,mAppWidget利用图形技术将众多小型图像(即板块)生成一幅大型地图。这套方案能够在节约内存容量的同时改善实时性能,这一点对于移动设备而言极为重要。图形的缩放不再受限于输入地图图像的固有分辨率。当走出图像***放大水平之后,该库还能够利用数字化缩放机制实现进一步放大。与此同时,mAppWidget并不仅仅是一套板块引擎。概括而言,这套方案能够利用简单的方式通过GPS地图校准机制显著用户的当前位置。

 

为什么要自行创建板块?

 

拥有自己的板块允许大家将任意图像转化为一幅地图(例如旅行地图、游乐园示意等等),并以此为开发者提供更多定制化设计空间。当大家需要在地图上显示更为具体、详尽或者临时性物体时——例如标游乐园当中某些注销设施的位置——或者为地图或者应用程序设计方案提供理想的外观及使用感受时,这将成为一项毋庸置疑的优势。

 

为什么选择开源?

 

在Lemberg网站上,我们对于自己的开发项目充满激情。我本人和同事们经常会就开发技巧、提示以及原型等层面上交流心得体会,并将其融入mAppWidget、Drupal模块以及其它开源技术项目当中。为什么不把这些项目在社区中作为实用的赠品与大家分享?考虑到这一点,我们决定通过自己的博客发布文章,并对代码进行开源。

 

除此之外,我们还引用了大量出色的开源解决方案,因此对我们的部分成果进行开源意味着为整个业界作出回馈。而这也正是开源精神的实际体现。

 

您也可以喜爱mAppWidget,如果……

 

无论身为Android开发人员还是应用程序使用者,这套库的主要目标在于削减开发时耗,进而降低离线地图产品的开发成本。

 

mAppWidget主要用于旅游及医疗行业,在设置选项中包含私人度假村、滑雪场、户外活动、城市指南应用以及国家公园等要求配备地图/定位追踪等功能性解决方案、但又不具备互联网连接的环境。

 

参与mAppWidget项目开发

 

要了解更多与mAppWidget项目相关的细节信息并下载代码成果,请点击此处访问GitHub上的对应页面。此外,大家还可以点击此处通过Google Play应用市场下载mAppWidget的演示版本。要获取更多与代码库使用方式相关的信息以及常见问题的解答,请点击此处查看用户指南。

 

未来之发展方向

 

随着新型技术与方案的不断兴起,我希望能够进一步对mAppWidget应用作出改进。就目前而言,我们正专注于为其它相关开源项目作出贡献,其中包括DrupalCon iOS与Android应用程序外加多种Drupal模块,因此敬请大家期待我们的后续信息。与此同时,也欢迎大家加入到mAppWidget的开发当中,让每个人都能为开源事业尽自己的一份力量。

 

责任编辑:chenqingxiang 来源: 51cto
相关推荐

2011-12-20 20:40:07

Android

2010-03-22 09:30:55

Linux非开源软件

2013-05-14 10:05:10

Android开发游戏设计

2013-08-09 10:56:43

2012-06-07 09:57:13

Android版Goo

2016-07-07 17:31:43

高德大数据

2019-06-19 16:05:51

AppImageFlathubLinux

2012-04-26 13:37:43

ScalaJavaQCon

2021-07-09 14:31:55

IBM开源框架混合云

2009-02-23 20:21:40

系统分析师论文写作XML

2012-06-12 09:43:34

微软Linux服务

2009-01-16 09:10:39

JavaCRM系统企业应用

2017-01-17 09:58:01

2024-04-07 11:40:40

Android框架

2022-04-20 10:15:56

SaaS模块化客户

2021-05-17 14:15:16

Edge浏览器Android翻译功能

2010-03-03 14:11:23

Android操作平台

2010-03-03 18:00:52

Android开源平台

2019-11-26 14:52:40

Linux工具写作者

2016-12-28 09:30:37

Andriod安卓平台依赖注入
点赞
收藏

51CTO技术栈公众号