android 实践项目 总结 (修改)

                                 

Android手机定位与地图实现

         在一个不熟悉的环境中,获得自己的位置,选择合适的就餐地点,住宿和公交路线成为一项难题。本次的实践项目就是为了解决上述难题的,通过调用百度地图的接口实现定位、查询公交路线、寻找合适的餐饮及住宿等功能,满足人们出行功能。

 

一 需求分析

1.1 功能需求

    1)地图浏览和控制----提供国内大多数城市的浏览和对地图基本控制,如放大、缩小、卫星切换等等。

    2)搜索地点----能够根据用户提供的信息,搜索对应的位置。如火车站地点、餐馆、酒店等等。

    3)公交查询------查询某一城市的特定公交路线。

    4)我的位置---实时定位用户的位置。

1.2 性能需求

         在项目开发完成后,是否能安装在各类实体机上,并且实现预期的功能。

1.3 可扩展性需求

         在未来,随着客户需求的增加,该项目能很好的扩展,来实现更多的功能。

Axure建模 当鼠标停在搜索框中,提示的文字消失;还有一组单选按钮

 

 

二 系统设计

2.1 本系统主要分为四个模块,如下图所示:

 

1)定位功能模块----利用GPS提供的服务,得到当前用户所在的位置,并且能够根据用户的位置实时更新。

2)公交路线查询模块----可以查询城市的某一特定公交路线的行车路线,并将各站点标识出来。

3 目的地查询模块----用户通过输入具体的城市和地点信息,可以查看该地点的所处在的地图,并将红色的标点标识出来。

4)其他模块。更具用户的需求进行添加。

2.2、系统的操作流程图。

 下图为系统的操作流程图:

 

 

2.3、类的相互关系

  在百度地图几种功能的实现中他们拥有的类如下图所示:

  在这项工程中,各个子界面是相互独立存在的,从上图可看出子界面的独立存在的类和共同享有的类;共同拥有的类是实现调用接口,使图形可视化。

2.3.1、定位类的关系

 

 

 

三、系统实现

3.1 系统的实现需要百度地图的授权。首先申请KEY;申请Key后需要在androidManifest.xml取得百度给予的权利:

 

由于系统会在不同屏幕上运行,所以需要适应不同的屏幕,给用户留下好的体验实现的方式是:

3.2、主界面

        主界面的标题显示是用setText()方法实现,BMapApiDemoMap的类来展示主窗口。并通过建立一个数组demo对象将进入子界面的按钮显示出来。对过单击列表onListItemClick方法可以进入相对应的子界面中。

 

3.3、定位子界面

         通过BaiduMap是地图的操作方法与接口,并通过MapView进行显示地图的视图,默认的地图中心为天安门广场。怎么实现定位?是通过定位服务客户端类LocationClient 调用setOpenGps()方法打开手机的GPS实现实时定位。

 

       从上图中我们能看到普通、默认图标、自定义图标。它们的共能分别是定位模式按钮及定位图标按钮。定位模式是通过LocationMode类实现的,在这里定位模式有三种模式,分别为普通模式、跟随模式、罗盘模式,当点击按钮时通过OnClickListener类进行监听单击的变化,来实现不同的模式。RadioGroup中使用类组单选按钮。如果我们选中一个单选按钮,他会自动取消同一组之前的单选按钮,进行切换定位的图标。

3.4、公交查询子界面

       PoiSearch为搜索类、BusLineSearch为城市公交查询类,这两个类的联合使用能查询公交路线。为了很好的查看公交路线的公交站点,使用popupText显示出来。下图是实例图:

 

 

 

3.5、目的地的查询模块。

       主要通过PoiSearch搜寻感兴趣的地方,实现查找。当查找不成功是,会提示未找到结果。

因为查找不可能很精确,所以用一组按钮,显示没有在图中标记感兴趣的点。如图:

 

 

你可能感兴趣的:(android 实践项目 总结 (修改))