我也遇到过同样的问题,我正确地按照步骤操作并能够解决这个问题
首先(从 Google Developer 控制台设置您的项目)
转到API 控制台 - Google 代码
创建一个项目 如图所示
单击创建,然后您将要求添加项目名称,如图所示
创建项目后,是时候选择我们需要使用的服务了,在这种情况下,我们需要 android v2 地图,因此从 Service 中选择Google Maps Android API v2如图所示,
现在转到 Api Access 并创建您的 OAuth 2.0 。通过在相应字段中提供您的包名称和 SHA1 指纹。
完成 OAuth 2.0 后,我们就可以使用您的 API 密钥了
现在创建一个与创建 OAuth 2.0 时使用的包名称相同的 Android 项目。并检查您是否在 Android SDK Manager 中
有google play 服务,否则请安装 google play 服务。
安装 Google playservice 后,您会在您的 Android YourSdkpath\extras\google\google_play_services中找到一个 Google play 库。将该项目导入您的工作区,并将其作为您项目的参考库
之后将相应的 java 和 xml 文件放入您的项目中。
MainActivity.java
package yourpackage;//Package name used while creating the Api key
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import android.os.Bundle;
import android.app.Activity;
import android.app.Dialog;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Getting status
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());
// Showing status
if(status==ConnectionResult.SUCCESS)
{
SupportMapFragment supportMapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentById(R.id.map);
// Getting a reference to the map
googleMap = supportMapFragment.getMap();
}
else{
int requestCode = 10;
Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, requestCode);
dialog.show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
activity_main.xml
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="yourpackage"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<permission
android:name="yourpackage.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="yourpackage.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<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"/>
<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="yourpackage.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>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="YourAPIkey"/>
希望对你有帮助