我看到的第一个问题是在这里:
<fragment class='com.google.android.gms.maps.SupportMapFragment'android:id='@+id/map'android:layout_width='match_parent'android:layout_height='match_parent'android:name='com.google.android.gms.maps.MapFragment'/>
删除以下行:class =“ com.google.android.gms.maps.SupportMapFragment”
并设置android:name为:
android:name='com.google.android.gms.maps.SupportMapFragment'
从清单文件中删除此行:
<uses-library android:name='com.google.android.maps' />
这是Google Maps API V1权限,不应在中使用API V2。
查看此博客文章,并确保一切正确:
Google Maps API第2版
您描述的问题通常源于使用API控制台生成或注册API密钥的问题,如果您确定已正确完成所有步骤,那么建议您删除文件夹,编译一些项目在Eclipse中(这将产生一个新的SHA1密钥),然后使用控制台再次注册该密钥。看看我写的这篇博客文章,确保我正确地执行了所有步骤:
Google Map API V2密钥
解决方法此错误已永久存在。(我确保已启用“ Google Maps Android API v2”。)
这是MainActivity.java:
package com.example.maptest;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.view.Menu;public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main,menu);return true; } }
表现:
<uses-sdkandroid:minSdkVersion='17'android:targetSdkVersion='17' /> <permissionandroid:name='com.example.maptest.permission.MAPS_RECEIVE'android:protectionLevel='signature' /> <uses-permission android:name='com.google.android.providers.gsf.permission.READ_GSERVICES'/> <uses-permission android:name='com.example.maptest.permission.MAPS_RECEIVE' /> <uses-permission android:name='android.permission.INTERNET' /> <uses-permission android:name='android.permission.ACCESS_WIFI_STATE' /> <uses-permission android:name='android.permission.ACCESS_NETWORK_STATE' /> <uses-permission android:name='android.permission.WRITE_EXTERNAL_STORAGE' /> <uses-permission android:name='android.permission.ACCESS_COARSE_LOCATION' /> <uses-permission android:name='android.permission.ACCESS_FINE_LOCATION' /> <uses-featureandroid:name='android.hardware.location'android:required='true' /> <uses-featureandroid:name='android.hardware.location.network'android:required='true' /> <uses-feature android:name='android.hardware.location.gps' /> <uses-featureandroid:name='android.hardware.wifi'android:required='true' /> <uses-featureandroid:glEsVersion='0x00020000'android:required='true' /> <applicationandroid:allowBackup='true'android:icon='@drawable/ic_launcher'android:label='@string/app_name'android:theme='@style/AppTheme' ><uses-library android:name='com.google.android.maps' /><activity android:name='com.example.maptest.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='AIzaSyAoDwhSzOopQ3g8NBe7d0WblR72TkmnVPU' /> </application></manifest>
activity_main.xml:
<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:tools='http://schemas.android.com/tools' xmlns:map='http://schemas.android.com/apk/res-auto' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.MainActivity' > <fragment android: android:layout_width='match_parent' android:layout_height='match_parent' android:name='com.google.android.gms.maps.MapFragment'/></RelativeLayout>
请帮忙!我不确定出了什么问题…尽管我最终还是跟随/合并了各种教程,因为它们都不是自己工作的。