前言:在使用GoopleMap之前需要配置manifest文件
1.这个可有可无,com.xhm.meishi是项目的包名
<!-- 声明调用这个应用需要的权限 --> <permission android:name="com.xhm.meishi.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
permission的意义可参考如下文章:http://blog.csdn.net/aomandeshangxiao/article/details/6940941撒地方
2.申请权限和GLE
<!-- 申请权限 --> <uses-permission android:name="com.xhm.meishi.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 申请glE特性 --> <uses-feature android:glEsVersion="0x00020000" android:required="true" />
3.配置API_KEY
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAB8aPMVDw036l87RutL6jkwDeEgLrQEaY" />
4.XML布局
<fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" />
这里建议使用SupportMapFragment,而不MapFragment
5.Activity文件,在布局中使用SupportMapFragment时,这个文件要继承FragmentActivity,而不是Activity
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.page_layout); }
全部代码如下:
Manifest:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xhm.meishi" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <!-- 声明调用这个应用需要的权限 --> <permission android:name="com.xhm.meishi.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <!-- 申请权限 --> <uses-permission android:name="com.xhm.meishi.permission.MAPS_RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 申请glE特性 --> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.xhm.meishi.Page_Activity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAB8aPMVDw036l87RutL6jkwDeEgLrQEaY" /> </application> </manifest>
xml布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Page_Activity" > <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
activity文件

package com.xhm.meishi; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; public class Page_Activity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.page_layout); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.page_, menu); return true; } }