1城市定向运动中的地图定位应用摘要:定向运动就是利用地图和指南针到访地图上所指示的各个点标,以最短时间到达所有点标者为胜。定向运动通常设在森林,郊外和城市公园里进行,也可在大学校园里进行。人们利用地图、指南针等工具在城市中进行的,参照定向运动规则的休闲娱乐活动。使应用使用者根据应用生成的活动路线到达各检查点,完成各项娱乐项目。本设计基于Android操作系统的移动设备的用户提供一种准备、便捷的定位功能,可以通过获取经纬度信息,也可以是地名,在地图上找到该地的地理位置。软件开发使用Java语言、高德API开发包和Eclipse开发环境。关键词:定向运动定位高德API引言在城市定向运动社会化应用中,地图是不可或缺的重要工具,利用地图可以更快、更为便捷的找到自己的目的地,进行一系列活动。对于城市定向运动的大部分操作,都是在利用地图提供的API应用程序编程接口,开发了B/S模式的在线实时定位跟踪平台;实现了Android手持终端的定位数据采集,并且通过通用分组无线服务技术发送客户端定位信息到服务器,完成对客户端的实时定位。1城市定向运动简介在城市中进行的,参照定向运动规则的休闲娱乐活动。使应用使用者根据应用生成的活动路线到达各检查点,完成各项娱乐项目,一般强调文化性和娱乐性,要求类似“寻宝”游戏,本设计集成各个功能,主要在电子地图上进行展开,地图可包含一个或多个图层,每个图层在各个级别都由若干张图块组成,它们覆盖了地球的整个表面。例如,用户所看到的包括街道、兴趣点、学校、公园等内容的地图展现就是一个图层,另外,实时路况、轨道交通等的展现也是通过图层来实现的。Android中定义一个名为my.soft.qilu的包,其中包含了一系列用于在平台上显示、控制等信息的功能类。本设计利用到AMapActivity、getLocation等几个功能类包:2定位实现地图APIAndroid版中提供了GPS和网络(WiFi)多种定位方式。若需使用此功能,需要先注册GPS和网络的使用权限。在获取用户位置时,将优先使用GPS定位;若是GPS定位没有打开或者没有可用位置2信息,就会判断是否允许通过网络连接进行定位,若允许,将根据手机所在环境选择网络来获取用户当前位置。3异步加载图片为了防止UI阻塞,图片加载时采用异步的方法来加载,异步加载图片的主要流程是进行判断缓存中是否存在图片,如果存在则直接返回,如果不存在则进行下载并进行缓存。同时封装成类,对外界只暴露一个方法即可,并引入内存缓存机制进行处理。4功能设计4.1定位设计位置定位主要是通过GPS设备获得位置信息并在地图上向用户展示。该定位功能是通过定位按钮手动开启及关闭的,在开启手动定位之前需要确保手机GPS设备是否开启。定位按钮被点击后,如果监听事件存在,则关闭监听事件;如果没有监听事件存在,则创建一个监听事件,需要设置监听参数,打开GPS设备。最后在地图上实现定位功能,定位到当前位置。4.2位置搜索位置搜索是通过输入界面获得用户所需查询的地址信息,再将获取的字符串地址转换为经纬度地址坐标,在地图上进行位置转移并形成一个位置圈。该功能是借助位置搜索界面获得用户搜索的地址信息,接着再对输入地址信息进行判断,最终通过选择地址实现地图移动效果。4.3实时路况及路线规划实时路况模块主要通过从服务器获取相应路段实时路况数据向用户展示该路段的实时车辆数量密度信息,减少交通堵塞情况。通过点击地图的方式能获取到目标路段信息(主要是路的名称),接着将路名与本地数据库数据进行匹配;若匹配未成功,则返回相应的车辆密度信息;最后通过将路面颜色标志不同的颜色这种的方式向用户展示实时路况信息。根据路况拥堵情况找出最佳路线,以最便捷的路线到达指定地点。完成定向运动。5结束语本文对Android平台下的城市定向运动中的地图定位功能进行了设计与研究。该系应用电子地图,增加了搜索模块、路线规划,便于找到指定地点;同时自我定位的实现方便了定向运动中的用户领略沿途风景,并且随时拍照分享,展现风景喜好;另实时路况的实现减少了路线选择的麻烦,大大提高了定向运动用户的出行效率,满足了在移动互联网高速发展时代人们对智能交通、娱乐的需求。