android谷歌地图开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1.2 程序功能的概述

用户界面为地图模式下的地图图层,界面最上方标明实时卫星数据,包括用户当前所在位置的经度、纬度、海拔高度和用户的移动速度以及卫星的精度、数量等信息。界面正中央的小点则指明了用户当前所在的位置。

界面下方为Menu菜单,实现本程序的主要功能,包括图层分类,图层清除和程序退出等功能。图层分类可显示用户当前所在位置周边的娱乐、购物、交通等信息,使得用户对其周边有所了解,方便出行。点击Menu菜单的相应按钮,则会在地图图层上叠加出娱乐、购物、交通等图标。点击这些图标,则会弹出对话框显示详细信息以供用户查看。

当不再需要显示以上图层时,可选择清除图层按钮,则界面还原为初始的地图图层。点击退出程序按钮,程序将退出到Android主界面。

如图3-2所示,显示了软件的运行流程。

3.2 功能模块实现的基本原理

3.2.1 GPS位置信息的获取

Android系统使应用程序可以利用android.location类来使用移动设备提供的GPS定位服务,获取位置的相关信息,包括如下四个类或接口:

●LocationManager类

●LocationListener接口

●Location类

LocationProvider类

其中LocationManager系统服务是GPS定位服务的中心组件,它提供了API来确定位置和方位。

GPS卫星数据的获取可通过如下代码实现:

mLocationManager = (LocationManager) getSystemService(LOCATION_SERVI CE);

mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0,mLocationListener) ;

public LocationListener mLocationListener = new LocationListener() {

public void onlocationChanged(Location location){

int lat,lon;

lat = location.getLatitude();

lon = location.getLongitude();

}

public void onProviderDisabled(String provider) {

}

public void onProviderEnabled(String provider) {

}

public void onStatusChanged(String provider, int status, Bundle ext ras) {

}

}

代码说明如下:

1.调用getSystemService(Context.LOCATION_SERVICE)方法可实例化一个LocationManager类对象。

2.调用requestLocationUpdates(String, long,float,LocatonListener)方法可以获取GPS地理位置的更新数据。其中,第1个参数是定位的方法,GPS 定位或网络定位;第2个参数是产生位置改变事件的时间间隔,单位为微秒;第3个参数是距离条件,单位是米;第4个参数是LocationListener接口,当GPS位置更新时,可通过此接口取得数据。

3.当GPS位置有所改变时,LocationListener接口用来接收来自Location- Manager的通知,同时调用onLocationChanged(Location location)方法,根据location类(getLatitude()、getLongitude()、getAccuracy()等)的参数可读出GPS位置详细信息。

4.onProviderDisabled()在用户禁用具有定位功能的硬件时被调用;onPro-

viderEnabled()在用户启用具有定位功能的硬件时被调用;onStatusChang-ed()在提供定位功能的硬件的状态改变时被调用,如从不可获取位置信息状态到可以获取位置信息的状态,反之亦然。

5.为了使GPS定位功能生效,还需要在AndroidManifest.xml文件中加入用

户许可,实现代码如下:

3.2.2 Google地图服务

获取Google地图服务首先要向Google申请一组经过验证的“地图密钥”

(Map API Key),然后使用MapView(com.google.android.maps.MapView)就可以将Google地图嵌入到Android应用程序中,从而正常使用Google的地图服务。取得Maps API Key授权步骤:

1.产生keystore并取得认证指纹(MD5)码

利用keytool.exe读出MD5码,在C:\ProgramFiles\Java\jre1.5.0_06\bin 目录下执行命令:

>keytool –list –keystore ” C:\Documents and settings\adminstrator \.android\debug.keystore”,如图3-3,可得到认证指纹(MD5)码。

图3-3 取得认证指纹(MD5)码

2.经Google网站的签署取得Maps API Key授权码

进入“Android Maps API Key Signup”,网址为:

/intl/ja/android/maps-api-signup.html,在“My certificate’s MD5 fingerprint:”字段输入获取到的认证指纹(MD5)码,单击“Generate API Key”按钮后,弹出如图3-4的页面,显示得到的Maps API Key 。

图3-4 Map API Key

在/res/layout/main.xml文件内建立标签,并设置Maps API Key,如图3-5所示,

图3-5建立标签

由于获取Google地图是需要使用互联网的,所以在运行前还需要在Andro-idManifest.xml文件中,添加允许访问互联网的许可,即分别建立标签 标签

相关文档
最新文档