制作属于自己的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功能还很有限,更多功能我将会陆续贴出来。






你可能感兴趣的:(java,android,Google,map)