其实Android 搭配Google Map还能实现很多功能,比如GPS导航,结合SNS实现提供各类的LBS位置服务等,本文只是带领你初窥了Android 搭配Google Map的强大功能,更多的还有待读者去实践发现。

1> android 在开发google map 项目的时候,首先需要一个android.keystore文件,该文件在

如果是win 7 则:C:\Users\Administrator\.android\ 如果是win xp 则:C:\Documents and Settings\Administrator\.android\ 下面,文件一般为:debug.keystore。如果不存在该文件,则需要参加这个文件,创建命令如下: C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias "C:\Users\Administrator\.android\debug.keystore" -keyalg RSA -validity 20000 -keystore android.keystore 请注意 这个 其中参数 -validity 20000,则个是表示 这个表示是证书有效天数。 C:\Users\Administrator\.android\debug.keystore 这个是android默认的证书地址路劲。可以在eclipse环境查看 查看方式:window->preferences->andorid->Build 右边 defualt debug keystore 即为默认路劲。 然后根据提示设置相应的内容,注意建议设置的用户名和密码统一为android ,因为eclipse中默认的证书用户名和密码也是android,如果设置其他的用户名和密码,则会带来不必要的麻烦。我就遇到过,如果设置成其他密码还要找办法去修改eclipse里面的默认密码。 生成keystore文件之后可以通过 keytool -list -alias androiddebugkey -keystore "C:\Users\Administrator\.android\debug.keystore" -storepass android -keypass android 来获取 certificate's MD5 fingerprint

2> 现在我们就产生了debug模式下的MD5密纹了,要注意的是,你必须重新为生产环境下的应用重新生成一次MD5密纹,因为如果在不同的Android SDK或者不同的开发环境下,MD5密纹是不同的,否则换了环境的话Google Map将不会工作。

  产生的MD5密纹的输出如下面:

  androiddebugkey, Apr 2 , 2010 , PrivateKeyEntry,

Certificate fingerprint (MD5):
72 :BF: 25 :C1:AF:4C:C1:2F: 34 :D9:B1: 90 : 35 :XX:XX:XX

  接下来,我们要到Google Map API的主页去申请一个Map的key了,可以访问

  http://code.google.com/android/maps-api-signup.html页面,在其中的MD5 fingerprint一栏中输入刚才生成的MD5密纹,如下图:

第三步:获得Google Map API Key

  输入后,点Generate API Key,之后会为我们产生Google Map API了,如下图,这个API是我们在程序中可以使用的。

第三步:获得Google Map API Key

  其中还给出了如何在android中使用该API的方法。


  第四步:开始创建Android Google Map应用

  其实,编写Android Map应用并不复杂,只需要继承MapActivity类就可以了。MapView这个类功能是从Google Map地图中获得数据并且展示地图。MapActivity的主要功能有:

  1) 管理Activity的生命周期

  2) 为MapView类建立和撤消相关的服务。

  在继承了MapActivity类后,我们要实现其中的isRouteDisplayed方法,这个方法其实是用来表示我们是否显示一些路线的信息,这个通常用在地图的飞行模式时才使用,这里我们不提供任何信息仅是返回false即可。

  在我们的activity中,我们将引用到MapView,它是在界面xml中定义的。同时我们也用到setBuiltInZoomControls方法设置地图允许缩放模式。

  初步的代码是这样的:

package com.javacodegeeks.android.googlemaps;

import android.os.Bundle;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

public class GMapsActivity extends MapActivity {

private MapView mapView;

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mapView
= (MapView) findViewById(R.id.map_view);
mapView.setBuiltInZoomControls(
true );

}

@Override
protected
boolean isRouteDisplayed() {
return
false ;
}

}
而相应的界面xml文件如下:
< ?xml version = " 1.0 " encoding = " utf-8 " ? >

< RelativeLayout
xmlns:android
= " http://schemas.android.com/apk/res/android "
android:orientation
= " vertical "
android:layout_width
= " fill_parent "
android:layout_height
= " fill_parent " >

< com.google.android.maps.MapView
xmlns:android
= " http://schemas.android.com/apk/res/android "
android:id
= " @+id/map_view "
android:layout_width
= " fill_parent "
android:layout_height
= " fill_parent "
android:clickable
= " true "
android:enabled
= " true "
android:apiKey
= " API-KEY-HERE " />

</ RelativeLayout >

  注意,其中要把你获得的Google Map的API KEY写到MapView控件中去。最后,记得在AndroidManifest.xml配置文件中,加上对Internet和Map的使用访问权限,其中由于Google Map的API是另外提供的API,因此也需要使用use-library标签进行说明,如下代码所示。

< ?xml version = " 1.0 " encoding = " utf-8 " ? >

< manifest xmlns:android = " http://schemas.android.com/apk/res/android "
package
= " com.javacodegeeks.android.googlemaps "
android:versionCode
= " 1 "
android:versionName
= " 1.0 " >

< application android:icon = " @drawable/icon " android:label = " @string/app_name " >

< activity android:name = " .GMapsActivity "
android:label
= " @string/app_name " >
< intent - filter >
< action android:name = " android.intent.action.MAIN " />
< category android:name = " android.intent.category.LAUNCHER " />
</ intent - filter >
</ activity >

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

</ application >

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

</ manifest >

  运行程序,可以得到一个初步的地图,如下图所示:

Android Google Map(create md5, create google map key)

更多相关文章

  1. Android 实现文件上传功能(upload)
  2. Android清单文件详解(六) ---- 节点的属性
  3. Android Uri获取资源文件(多种方式)
  4. Android ADB常用命令以及环境配置
  5. 编译android 之后生成的 img 文件介绍
  6. android操作sdcard中的多媒体文件(一)——音乐列表的制作
  7. 深入浅出 - Android系统移植与平台开发(四)- 搭建Linux编译环境
  8. android 操作sdcard中的多媒体文件(一)——音乐列表的制作

随机推荐

  1. 加速Android(安卓)Studio---Gradle构建
  2. could not find adb.exe
  3. ImageView android:scaleType="centerCro
  4. 踩坑实录 Android(安卓)Studio真机测试时
  5. Android(安卓)Sqlite synchronous设置
  6. Android的ViewPager中移除Fragment
  7. android 执行sql的长度限制
  8. 让你的Android应用与外部元素互动起来
  9. 解决小米平板 adb devices no permission
  10. android studio 中的编码问题