Android开发 GoogleMap之用户定位

最近调研了Android地图方面的应用,写下此博客,与大家一起分享!

GoogleMap API的使用介绍:

一、准备工作

1、下载安装Google Map API

在默认情况下,在安装Google AndroidSDK时,是不需要必须安装Google Map API的。但要做Map应用的话,就必须安装Google Map API。

通过启动Android SDK and AVD Manager这个SDK管理器去下载安装Google Map API。在启动SDK管理器后,选择“InstalledOptions”,去查看你已经安装了哪些SDK和是否经安装Google Map API,如果尚未安装的话,可以在“AvailablePackages”中查找并下载安装,如下图所示:

Android开发 GoogleMap之用户定位_第1张图片

页面中显示的是我已经安装成功的API,请在Available packages中选择你需要的API,下载安装即可。

2、获取GoogleMap API KEY

在正式使用GoogleMap API前,必须先生成Google Map API KEY。

生成步骤:

(1) 需要应用程序的签名证书(在开发阶段,模拟器使用调试证书来签名应用程序。在发布应用时,需要自己生成的签名证书),调试证书位置:从Eclipse的Preferences菜单,转到Android->debug中,调试证书的位置显示在”Defaultdebug keystore”字段中。

(2)使用keytool 获得签名证书的MD5指纹

keytool -list -keystore debug.keystore

密码:android

获取MD5认证指纹

(3) 将证书的MD5指纹粘贴到以下Google网站的适当字段中

http://code.google.com/intl/zh-CN/android/maps-api-signup.html生成map apiKey

3、实例开发:

(1)新建Google Map工程,注意采用Google APIs。

(2)添加权限和添加包的引用

由于使用GoogleMap API,所以必须添加

<uses-library android:name="com.google.android.maps" />

由于需要从网络获取地图数据,所以需要访问网络的权限

<uses-permission android:name="android.permission.INTERNET"/>

如果使用到用户定位,则需要添加以下权限:

<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

(3)创建MapView(MapView用于显示地图的View组件,在Activity的布局文件中需要定义MapView,并添加属性android:apiKey=“申请的map apiKey”)

要显示地图,需要创建一个MapView,在Xml文件中的布局如下。其中的android:apiKey的值就是之前申请的MapapiKey。

<com.google.android.maps.MapView

android:id="@+id/mapview"

android:layout_below="@id/searchRegion"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:clickable="true"

android:apiKey="Map API KEY"/>

也可以在程序中通过如下代码来创建MapView:

MapView mapView = new MapView(this, "Map API KEY");

(4) 继承自MapActivity(MapActivity用于显示Map的Activity,是一个抽象类,任何想要显示MapView的Activity都需要继承MapActivity。)

获取MapView,并对地图操作进行设置


(5)MapController(用于地图的移动、缩放等)

到此为止,地图就可以显示出来了!

二、用户定位

1、用户定位主要用到的api在android.location包中。

LocationManager:用于管理用户定位服务。

LocationProviders:提供多种的定位方式。

常用的定位方式包括:GPS、NETWORK

2、需要添加的权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
如果定位方式为NETWORK,权限也可以只添加权限:
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>

3、获取LocationManager

4、实现LocationListener

5、注册监听

代码如下:


模拟器中模拟GPS定位,可在eclipse中DDMS操作界面中的Emulator Controller中输入经纬度,模拟GPS定位,如图:
Android开发 GoogleMap之用户定位_第2张图片


点击send,查看模拟器,就可以看见模拟的当前位置了!

你可能感兴趣的:(Android开发)