读书人

Google Map制造详解

发布时间: 2012-09-05 15:19:35 作者: rapoo

Google Map制作详解
1.开发前的准备

①证书:
<1>android系统要求每一个应用程序都有一个证书
<2>证书可以唯一的标识应用程序开发者
<3>密钥(key)和证书(certificates)存在于一个称为keystore的文件中。在开发过程中默认使用debug key,它存储在debug.keystore中,该文件在不同的系统中存放的位置不同。
win7系统:C:\Users\<username> \.android
windows XP:C:\Documents and Settings\<username>\.android\
OS X and Linux: ~/.android/debug.keystore

<4>debug.key的相关参数
keystore name: debug.keystore
keystore password:android
key alias(别名):androiddebugkey
key password:android
CN:“CN=Android Debug,O=Android,C=US”

②MD5与SHA1
MD5和SHA1是不同的数据加密算法,将一段明文以一种不可逆的方式转换成一段密文,也可以简单的理解为取一串输入码,并把它们转化为长度较短、位数固定的码。

2. 获取Google Map API key
①生成证书密钥
需要使用jdk自带的keytool.exe,在jdk安装路径的bin文件夹里。(最好把jdk的bin目录添加到环境变量中)
获取证书的MD5指纹:
在命令提示符下输入如下命令

keytool -list -alias keyalias -keystore <path>keyname.keystore -storepass passwd


命令参数解释:
keyalias :key的别名(开发时默认为androiddebugkey)
<path>keyname.keystore:指定keystore文件的完整路径,若不写path,则指当前目录,建议用cd 命令进入存储keystore文件的.android目录下。
passwd:keystore的密码
注意: jdk1.6版本以及以前版本使用MD5算法。jdk1.7.0版本使用SHA1算法。

将生成的MD5指纹拷贝下来。在命令提示符中的操作步骤为:
右键->标记->选中要复制的内容->猛敲Enter键


②申请API key
Google提供了一个专门用于生成API key的网页。地址为:
http://code.google.com/android/maps-api-signup.html
点选同意条款的复选框,输入你的MD5指纹,点Generate API key,就会在网页中生成一个API key,拷贝下来。(注意:这个API key是你独一无二的)

3.MapView:

Google Map最重要的一个类。位于
com.google.android.maps包下。它封装了Google Map地图大部分的功能。它需要连接网络,然后通过密钥来获取Google地图服务,然后以一个控件的形式显示在android手机上。


4.创建MapView

①添加类库:
需要用到goole定义的maps.jar,位于SDK安装路径下面的add-ons\addon_google_apis_google_inc_<n>\libs
<方法一>在创建的android project的时候,选择Google APIs,IDE就会自动帮我们加入maps.jar
<方法二>(eclipse的操作方法)选中项目->右键->build path->
add External archives->选中maps.jar
②创建MapActivity
自定义类继承抽象类MapActivity并重写isRouteDisplayed()方法,(不妨叫MyMapActivity)
public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        mapView = (MapView)findViewById(R.id.mapView);//获得MapView实例        mapView.setBuiltInZoomControls(true);//添加控制地图放大缩小的控件}


③在布局文件中注册MapView
新建布局文件,不妨命名为map.xml.在布局标签对中添加如下代码:
<com.google.android.maps.MapView  android:id="@+id/mapView"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:clickable="true"    android:apiKey="0g267XkZzdQVYGTnOSz4woPjW15w54Q3-sOf-0A"   />


其中android:apiKey属性的值即为我们申请到的API key

④AndroidManifest.xml中的配置
1’ .添加类库
在application标签对中添加如下代码:
<uses-library android:name="com.google.android.maps" />

2’.赋予应用程序连接网络的权限
<uses-permission android:name="android.permission.INTERNET"/>


3’注册MyMapActivity

<activity android:name=".MyMapActivity></activity>


好了,一个Google Map就制作好了,你是不是在地图上找到了你现在所处的位置了?是不是很有成就感呢?

但是现在的Google Map功能还很有限,更多功能我将会陆续贴出来。






读书人网 >移动开发

热点推荐