“GPS闹钟设计文档” 一、实验题目 设计一款GPS闹钟程序,实现基本的定位功能,以及到站提醒功能。 二、实验日期 2020年3月13-2020年3月27 三、开发环境 Android Studio 四、实验目的 熟练Android开发流程,提高编程能力 五、软件介绍 第一次打开软件时会弹出如图所示的对话框,动态获取权限,必须点击允许才能定位。
允许定位之后进入地图界面,首先蹦出提示框,提示你需要点击地图上的点以选择目的地。
点击“我知道了”,就会看到地图界面,蓝色的圈圈代表你当前的位置。
然后,点击图中的点选择目的地,跳出对话框询问是否设置该点为目的地,点击确定后服务开始,目的地会有一个终点标志。
到达目的地的时候,会弹出提示并播放Kiss The Rain,提示用户已经到达,如下图所示。
六、软件实现 本软件调用了百度地图API,利用百度地图实现定位功能,下面将分别说明不同部分的实现方法 一:布局文件 布局文件只有一个com.baidu.mapapi.map.MapView,这是调用的百度地图API的地图,可以显示世界地图。 二:MainActivity文件: 首先需要调用如下方法动态获取定位权限: MainActivityPermissionsDispatcher.ApplySuccessWithCheck(this); 然后新建LocationClient对象,设置LocationClientOption,设置每隔1.5秒定位一次,然后为LocationClient对象注册位置监听器(registerLocationListener),获取当前位置的经纬度,并把当前位置在地图上标注,实现定位功能。 接下来为了实现点击地图上的点选择目的地,给地图设置OnMapClickListener,点击地图上某一点之后,弹出对话框,询问用户是否要把该点设置为目的地,如果用户点击了确定,就将该点设置为目的地并标记为终点,开始服务。 在服务中,利用Handle和Runnable开辟一个新线程,利用handle.PostDelay函数每隔1秒判断是否已到达终点(利用经纬度和球面距离公式计算当前位置与目的地的距离,当距离小于100米时视为到达),如果到达了终点,就播放Kiss The Rain,并Toast提示用户已到达目的地,服务结束。