当前位置:操作系统 > 安卓/Android >>

Android的位置和地图

位置和基于地图的应用程序,对于移动设备用户来说是最具吸引力的。你能够使用android.location包和Google Map的外部类库,把这些能力构建到你的应用程序中。

位置服务

Android通过android.location包中的类把设备所支持的位置服务提供给你的应用程序。位置框架的核心组件是LocationManager系统服务,它提供了API来确定位置和设备的方位(如果有效)。

跟其他系统服务一样,不需要直接实例化LocationManager。相反,你可以通过调用getSystemService(Context.LOCATION_SERVICE)方法来向系统申请一个实例。这个方法会返回一个新的LocationManager实例的句柄。

一旦你的应用程序有了LocationManager对象,你的应用程序就能够做以下3件事情:

1.  查询所有的最有获取用户位置的LocationProvider对象的列表;

2.  注册/注销来自位置提供器的用户当前位置的周期性更新(既可以通过规则来指定,也可以通过名称来指定)

3.  注册/注销设备接近给定的经纬度(以米为单位的半径区域)范围时所要触发的Intent对象。

更多的信息,请看位置策略指南

Google Map外部类库

为了让你更加容易的把强大的地图能力添加到你的应用程序中,Google提供了一个地图外部类库,它包含在com.google.android.maps包中。这个包中类提供了内置的下载、呈现和题图标题缓存功能,以及各种显示选项和控制。

这个地图包的关键类是com.google.android.maps.MayView,它是ViewGroup的一个子类。MapView显示了一份带有从Google Maps服务中所获取的数据的地图。当该MapView有焦点的时候,它会捕获按键和触摸手势,来自动的平移和缩放地图,包括处理额外的获取地图标题的网络请求。它还提供了所有的用于用户控制地图所需要的UI元素。你的应用程序也能够使用MapView类的方法来编程控制MapView,并且在地图的上面绘制一些重叠类型。

通常,MapView类围绕Google Maps API提供了一个封装,从而让你的应用程序通过这些封装的方法来维护Google Maps数据。并且它会让你把地图数据跟其他类型的View一起来工作。

这个地图外部类库不是标准Android类库的一部分,因此,它可能在兼容性Android设备上不存在。类似的,该地图外部类库没有包含在SDK所提供的标准的Android类库中,因此,你只有在该地图外部类库是作为Google API的一部分被添加到Android SDK时,你才能够使用com.google.android.maps包中的类来进行开发。

 为了你的方便,Google APIs add-on是可以通过Android SDK管理器来下载的。

注意:为了在MapView中显示Google Maps数据,你必须要注册Google Maps服务,并获取一个Maps API Key,更多的信息请看如何获取Maps API Key

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,