各位早上好 ^ ^,bill好久没有写博文了,趁着新任务来临之前,抓紧时间写点东西。
这段时间在做一个android应用,应用中需要用到google map api,原以为直接在Android SDK Manager中下载Google APIs就能使用了,没想到还要做一些工序,bill通过网络学习到了相关知识,谨作为备忘记载于此。废话不多说,奉上步骤。
前面说到,需要利用Android SDK Manager下载Google APIs,以android 2.1 updates为例
点击勾选“Google APIs”进行下载安装,安装完成后,即可建立以Android 2.1updates版本下的附带Google APIs的Android应用
到此为止,开发一个附带Google Map的应用的“硬件”设施已经准备就绪。接下来我们需要备齐各种“软件”。
首先,我们需要Google Map API Key,至于为什么,我还是直接拷贝Google的原话吧。
[quote]Because MapView gives you access to Google Maps data, you need to register with the Google Maps service and agree to the applicable Terms of Service before your MapView will be able to obtain data from Google Maps. This will apply whether you are developing your application on the emulator or preparing your application for deployment to mobile devices.
我们需要先下载一个小软件——key tool,以eclipse IDE为例,点击“帮助”→“安装新软件”
点击右侧的“添加”,填写KeyTool的挂载站点如下
http://www.keytool.sourceforge.net/update
下载安装完成之后,重启eclipse,在工具栏上能够看到key tool,点击并选择open keystore
在弹出窗口中打开你文件目录下的/.../.../.android/debug.keystore文件,密码默认为android。接着打开Certificate,将里面的MD5码拷贝并填写到google的注册网址,获得Map API Key。将得到的Map Key保存好以备后用。
接下来,我们就可以在自己的应用当中使用Google Map了。
首先,我们需要在AndroidManifest配置文件中添加Google Map相关的权限和类库
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.billhoo.study.hellogooglemaps"
- android:versionCode="1"
- android:versionName="1.0" >
-
- <uses-sdk
- android:minSdkVersion="7"
- android:targetSdkVersion="15" />
-
-
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-
-
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-
- <application
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme" >
- <activity
- android:name=".MainActivity"
- android:theme="@android:style/Theme.NoTitleBar" >
- <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>
-
- </manifest>
然后,我们建立一个使用Google Map的布局并在Activity上显示。
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" >
-
- <com.google.android.maps.MapView
- android:id="@+id/mapview"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:apiKey="这里是你刚才获得的KEY"
- android:clickable="true" />
-
- </RelativeLayout>
- package com.billhoo.study.hellogooglemaps;
-
- import android.os.Bundle;
-
- import com.google.android.maps.MapActivity;
- import com.google.android.maps.MapView;
-
- public class MainActivity extends MapActivity {
- MapView mMapView = null;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mMapView = (MapView) findViewById(R.id.mapview);
- mMapView.setBuiltInZoomControls(true);
- }
-
- @Override
- protected boolean isRouteDisplayed() {
- return false;
- }
- }
到此为止,在Android上使用Google Map的基本工作就算完成了。
当然,在Android上开发GoogleMap相关应用还有许多难点,bill会慢慢将这次开发中遇到的难题及其解决方案写成博文分享给还不会的朋友。
本文转自Bill_Hoo 51CTO博客,原文链接:http://blog.51cto.com/billhoo/967254,如需转载请自行联系原作者