黑马程序员技术交流社区

标题: Android之Google Map学习详细介绍 [打印本页]

作者: sheng6699    时间: 2014-4-26 21:45
标题: Android之Google Map学习详细介绍
AndroidGoogleMapsProject.rar(改进)   Google_Map.rar  (本文雏型)第一步:确认你已经好安装Google Map API    第二步:建立Eclipse 工程
第三步:获得Google Map API Key
在DOS命令行下进入其路径地址,进入到:D:\.android(具体看你的这个文件夹在哪里),然后输入
keytool -list -v -keystore debug.keystore ,这时它一般会提示你输入密钥库口令,直接输入android后按回车即可,这样就把三种指纹证书全部列出来了,包括MD5、SHA1、SHA256。
显示证书指纹如下:

记下证书指纹中的MD5对应的内容BA:D7:80:7A:C5:50:26:E0:E1:AC:D8:E8:C0:EA:73:3C
,然后打开这个网页 http://code.google.com/intl/zh-CN/android/maps-api-signup.html 在复选框上打钩后,输入MD5对应的内容 ,然后点击Generate API Key,这时你就申请到了你的key,当然前提是你必须登录。(您可能需要一个google账号或者注册过google市场,否则会是问号一串)
如下图:

生成的key为下图:

第四步:代码编写
布局文件main.xml

点击(此处)折叠或打开

  • <?xml version="1.0" encoding="utf-8" ?>
  • <RelativeLayout
  • xmlns:android="http://schemas.android.com/apk/res/android"
  • android:id="@+id/mainlayout" android:orientation="vertical"
  • 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:clickable="true"
  • android:apiKey="0zm_exJ9c0SzES2BoYJTqrGvo9jzdMhY3q0upvQ" />  //这块替换成你的key
  • <LinearLayout android:id="@+id/zoomview" android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_alignBottom="@id/mapview"
  • android:layout_centerHorizontal="true" />
  • </RelativeLayout>


MainActivity.java文件

点击(此处)折叠或打开

  • package com.google_map;
  • import android.os.Bundle;
  • import android.widget.LinearLayout;
  • import android.widget.ZoomControls;
  • import com.google.android.maps.MapActivity;
  • import com.google.android.maps.MapView;
  • public class MainActivity extends MapActivity {
  • LinearLayout linearLayout;
  • MapView mapView;
  • ZoomControls mZoom;
  • @Override
  • public void onCreate(Bundle savedInstanceState) {
  • super.onCreate(savedInstanceState);
  • setContentView(R.layout.main);
  • linearLayout = (LinearLayout) findViewById(R.id.zoomview);
  • mapView = (MapView) findViewById(R.id.mapview);
  • mZoom = (ZoomControls) mapView.getZoomControls();
  • linearLayout.addView(mZoom);
  • }
  • @Override
  • protected boolean isRouteDisplayed() {
  • return false;
  • }
  • }


AndroidManifest.xml文件

点击(此处)折叠或打开

  • <?xml version="1.0" encoding="utf-8"?>
  • <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  • package="com.google_map"
  • android:versionCode="1"
  • android:versionName="1.0" >
  • <uses-sdk android:minSdkVersion="10" />
  • <application
  • android:icon="@drawable/ic_launcher"
  • android:label="@string/app_name" >
  • <activity
  • android:name=".MainActivity"
  • 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.ACCESS_FINE_LOCATION" />
  • <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
  • <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
  • <uses-permission android:name="android.permission.INTERNET" />
  • <uses-sdk android:minSdkVersion="3" />
  • </manifest>


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

注意事项:可能你在Run As后显示错误如下
Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY  
Please check logcat output for more details.  
Launch canceled!  

导致这个错误的原因:
是你用的模拟器不对,应该按照提示重新建一个模拟器,其中Target选项要选
Google APIs(Google Inc.)-API level 15,而不是使用原来的Andriod 4.0.3-API level 15









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2