论文部分内容阅读
移动互联网是网络应用发展的趋势,随着移动设备功能的不断增强以及人们对便携性与时效性的强烈需求,传统的桌面地图逐步移动地图转移。Android地图SDK是开发者在Android系统中开发LBS (location based service)应用的地图接口,它是移动地图的核心技术。通常开发者只能利用第三方的地图SDK所提供的接口或功能,这极大的影响了个性化需求和功能扩展的实现。针对以上局限性,本文提出了自主设计和实现Android地图SDK的方法,该地图SDK拥有完整的地图功能且更加具有可自定义性和可扩展性。地图显示是地图SDK的核心功能,本文实现了一种在Android设备上显示瓦片地图的方法。该方法包括如何获请求地图服务得到地图瓦片,如何利用缓存以提高地图加载速度,如何处理多个地图叠加,以及如何处理各种地图操作。本文地图SDK可以支持多种地图服务和投影方式,支持用户自定义地图数据源。同时本文实现了一种地图界面设计方法,在满足用户基本要求的基础上提供用户自定义和拓展地图控件的接口。兴趣点搜索是地图SDK又一重要功能。本文实现了包括位置检索、周边检索、范围检索等一些基本的兴趣点搜索功能,同时还实现了分类检索的功能。本文还提供了图标、文字、形状等多种形式的覆盖物图层来对兴趣点进行标识。实时精确的定位是移动地图的巨大优势,本文采用GPS、Wi-Fi与基站定位等多种定位方式相结合的混合定位方案,同时还支持使用第三方的定位SDK,确保了定位的高可用性。离线地图是移动地图必须考虑的问题,本文设计并实现了一种文件结构化的离线地图存取方案。该方案通过索引的方式查找地图瓦片。该方案具有简单高效的特点,并且实现了对离线地图数据进行加密、压缩,下载与更新等功能。本文最后通过演示程序对地图SDK进行了测试,测试结果表明地图SDK在功能和性能方面都能满足实际使用的要求,并且在可自定义性和拓展性比目前常见的地图SDK有很大改进。