2024年4月1日发(作者:)

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

了很多方便。

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

MapController : 主要

控制地图移动,伸缩,以某个GPS坐标为中心,控制

MapView中的view组件,管理Overlay,提供View的基本功能。使用多种地图模式(地图模式

(某些城市可实时对交通状况进行更新),卫星模式,街景模式)来查看Google Map。

常用方法:

animateTo(GeoPoint point) setCenter(GeoPoint point) setZoom(int zoomLevel) 等。

Mapview : 是用来显示地图的view, 它派生自oup。当

MapView获得焦点,可以控制地图的移动和缩放。地图可以以不同的形式来显示出来,如

街景模式,卫星模式等,通过setSatellite(boolean) setTraffic(boolean), setStreetView(boolean)

方法。

Overlay : 是覆盖到MapView的最上层,可以扩展其ondraw接口,自

定义在MapView中显示一些自己的东西。MapView通过rlays()对

Overlay进行管理。

Projection :MapView中GPS坐标与设备坐标的转换(GeoPoint和

Point)。

定位系统包中的主要类:

LocationManager:本类提供访问定位服务的功能,也提供获取最佳定位提供者的

功能。另外,临近警报功能也可以借助该类来实现。

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

理位置的功能。

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

注册监听器对象。

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

位提供者。

Geocoder:用于处理地理编码和反向地理编码的类。地理编码是指将地址或其他描

述转变为经度和纬度,反向地理编码则是将经度和纬度转变为地址或描述语言,其中包含了

两个构造函数,需要传入经度和纬度的坐标。getFromLocation方法可以得到一组关于地址

的数组。

下面开始地图定位实例的开发,在开发地图前需要 获取Android地图 API密

钥 网上有很多资料,这里就不再复述。

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

打印?

01

02 android:icon="@drawable/ic_launcher"

03 android:label="@string/app_name">

04

05 android:label="@string/app_name"

06 android:name=".MyMapActivity">

07

08

09

1

0

11

12

13

14

15

16

1

7

1

8

"/>

1

9

ON"/>

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

layout下的:

打印?

01

0

2 d"

03 android:layout_width="fill_parent"

04 android:layout_height="fill_parent"

05 android:orientation="vertical">

06

07

08 android:id="@+id/mapview"

09 android:layout_width="fill_parent"

10 android:layout_height="fill_parent"

1

1 android:apiKey="008uu0x2a7GWlK2LzCW872afBAPLhJ-U2R26Wgw"

12 />

13

14

下面是核心代码,重要的地方我做了注释:

打印?

001 publicclassMyMapActivityextendsMapActivity {

002 /** Called when the activity is first created. */