转自:http://blog.csdn.net/tqtuuuu/article/details/8522380
主要参考:
https://developers.google.com/maps/documentation/android/start?hl=zh-CN#the_google_maps_api_key
通过如下几个步骤完成:
1. 安装Google Play服务 SDK, 通过SDK Manager完成,在Extras下,安装完成以后,该SDK/extras目录下将会出现如下目录:google/google_play_services。
2. 获取访问Google Map的APIKey,需要到Google APIs Console完成,方法如下:
2.1 打开https://code.google.com/apis/console,然后创建一个Project,并且勾选使Google Maps Android API v2生效
2.2 在上述console左侧选择API Access,然后Create New Android Key...,在弹出的对话框中输入"SHA-key;packagename".我输入的实例如下:
27:E2:4C:7C:24:3C:71:F4:EC:FB:9E:91:A9:5B:6A:9D:74:47:A1:12;com.example.exampleproject
2.3 其中SHA-key是在user/.android目录下执行如下命令得到的:
keytool -list -v -keystore debug.keystore
最后生成的apikey如下所示:
Simple API Access
Use API keys to identify your project when you do not need to access user data. Learn more
3. 将sdk\extras\google\google_play_services\libproject\google-play-services_lib项目作为Android library Project导入Eclipse。
3.1选择File > Import > Android > Existing Android Code Into Workspace and click Next.
3.2 选择Browse..., 输入 <android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib
, 然后单击Finish.
3.3 单击google-play-services_lib项目右键,选择Properties->Android,在Project Build Target选项卡下选择Google APIs(而不是Android 4.2),在Library选项卡下勾选Is Library。如下图所示。
4. 创建普通的Android应用程序项目,Activity及Layout文件和Manifest文件内容分别如下所示:
4.1 Activity文件:
- public class MapViewActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_map);
- }
- }
4.2 Layout文件:
- <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:background="#313849">
- <fragment xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/map"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- class="com.google.android.gms.maps.MapFragment"/>
- </RelativeLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.exampleproject"
- android:versionCode="1"
- android:versionName="1.0" >
- <uses-sdk
- android:minSdkVersion="8"
- android:targetSdkVersion="17" />
- <application
- android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme"
- android:debuggable="true" >
- <span style="color:#ff6666;"><meta-data
- android:name="com.google.android.maps.v2.API_KEY"
- android:value="AIzaSyDz3aQ-yKDfoaoC5uY5klK3PYQjegRo74A"/> //第2布中获取的API key</span>
- <activity android:name=".MapViewActivity" android:label="@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <span style="color:#ff6666;"><uses-library android:name="com.google.android.maps"/></span>
- </application>
- <span style="color:#ff6666;"><uses-feature android:glEsVersion="0x00020000" android:required="true"/></span>
- <<span style="color:#ff6666;">permission</span> android:name="com.example.exampleproject.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
- <<span style="color:#ff6666;">uses-permission</span> android:name="com.example.exampleproject.permission.MAPS_RECEIVE"/>
- <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- </manifest>
5. 配置Android应用程序的Project Build Target为Google APIs,参见步骤3,不要勾选Is Library选项,否则运行时会出现Android library projects cannot be launched错误。
6. 需要在系统中安装的软件包括:Google Map、Google Play、Google Play服务,不然,应用会显示一个按钮(名称为:获取Google Play服务)而不是应该显示的地图。安装完上述软件后,应该会成功显示地图。PS:我出现这个问题的原因,是因为刚刷了MIUI 4.0的系统,这个系统太坑爹了,把Google的所有软件都卸完了。
真机测试,运行成功