Android定位和地图开发实例

Android开发中地图和定位是很多软件不可或缺的内容,这些特色功能也给人们带来了很多方便。

首先介绍一下地图包中的主要类:

MapController :  主要控制地图移动,伸缩,以某个GPS坐标为中心,控制MapView中的view组件,管理Overlay,提供View的基本功能。使用多种地图模式(地图模式(某些城市可实时对交通状况进行更新),卫星模式,街景模式)来查看Google Map常用方法:animateTo(GeoPoint point)  setCenter(GeoPoint point)  setZoom(int zoomLevel) 等。

Mapview  : 是用来显示地图的view, 它派生自android.view.ViewGroup。当MapView获得焦点,可以控制地图的移动和缩放。地图可以以不同的形式来显示出来,如街景模式,卫星模式等,通过setSatellite(boolean)  setTraffic(boolean), setStreetView(boolean) 方法。

Overlay   : 是覆盖到MapView的最上层,可以扩展其ondraw接口,自定义在MapView中显示一些自己的东西。MapView通过MapView.getOverlays()Overlay进行管理。

ProjectionMapViewGPS坐标与设备坐标的转换(GeoPointPoint)。

定位系统包中的主要类:

LocationManager:本类提供访问定位服务的功能,也提供获取最佳定位提供者的功能。另外,临近警报功能也可以借助该类来实现。

LocationProvider:该类是定位提供者的抽象类。定位提供者具备周期性报告设备地理位置的功能。

LocationListener:提供定位信息发生改变时的回调功能。必须事先在定位管理器中注册监听器对象。

Criteria:该类使得应用能够通过在LocationProvider中设置的属性来选择合适的定位提供者。

Geocoder:用于处理地理编码和反向地理编码的类。地理编码是指将地址或其他描述转变为经度和纬度,反向地理编码则是将经度和纬度转变为地址或描述语言,其中包含了两个构造函数,需要传入经度和纬度的坐标。getFromLocation方法可以得到一组关于地址的数组。

下面开始地图定位实例的开发,在开发地图前需要 获取Android 地图 API 密钥  网上有很多资料,这里就不再复述。

首先要在manifest.xml中设置全相应的权限和maps库:

[html]

<application           android:icon="@drawable/ic_launcher"           android:label="@string/app_name" >           <activity               android:label="@string/app_name"               android:name=".MyMapActivity" >               <intent-filter >                   <action android:name="android.intent.action.MAIN" />                      <category android:name="android.intent.category.LAUNCHER" />               </intent-filter>           </activity>   <span style="color:#FF6666;">           <uses-library android:name="com.google.android.maps" /></span>       </application>       <span style="color:#FF6666;">   <uses-permission android:name="android.permission.INTERNET" />       <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />       <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /></span>  

     在上面我标红的千万不要忘记。

layout下的main.xml:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzpzs.html