2016-11-26 224 views
0

我一直試圖讓谷歌地圖工作幾個小時,但我得到的只是一個灰色的屏幕。根本沒有地圖。我知道這裏也有類似的問題,但我沒有進一步閱讀所有這些問題。谷歌地圖API未加載地圖

幾個小時前,我從電腦運行應用程序時,設法使地圖正常工作,但安裝APK時無法正常工作。所以我注意到有不同的API密鑰用於調試和發佈。我決定重新開始,生成新的密鑰等等。因此,我從Google中刪除了現有的密鑰,生成了新的google_maps_api.xml文件並按照說明進行操作。

但是現在,從我的手機應用程序時,我收到以下錯誤消息:

E/b: Authentication failed on the server. 
E/Google Maps Android API: Authorization failure. Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map. 
E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com) 
    Ensure that the "Google Maps Android API v2" is enabled. 
    Ensure that the following Android Key exists: 
     API Key: (OLD_API_KEY) 
     Android Application (<cert_fingerprint>;<package_name>): (MY_FINGERPRINT);(PACKAGE_NAME) 

所以,首先,我該如何確保「谷歌地圖Android的API V2」已啓用?在Google API網站上,我只能找到我啓用的Google Maps Android API。我找不到任何關於v2的信息。

而且,我該如何「確保以下Android密鑰存在」。我刪除了OLD_API_KEY因爲我想從頭開始。不知道它現在來自哪裏。我顯然沒有它。所以我不能確保它在那裏。爲什麼我不能使用我生成的一個新的?爲什麼它甚至知道我的舊密鑰,我已經刪除?

如果我正確理解所有內容,我應該生成一個用於調試的API密鑰,並將其添加到調試文件夾中的我的google_maps_api.xml。對於該版本,我生成另一個密鑰並將其添加到發行文件夾中的google_maps_api.xml。我是否還需要將API密鑰添加到我的AndroidManifest.xml?目前,我有這個我application標籤之間:

<meta-data 
      android:name="com.google.android.geo.API_KEY" 
      android:value="@string/google_maps_key"/> 

哪裏@string/google_maps_key是我調試的關鍵。

我的主要問題是,爲什麼我需要確保舊的API密鑰存在,我已經刪除。我如何告訴Android我想使用不同的?

回答

0

我明白了!事實證明,API密鑰實際上可用於應用程序需要很長時間。比API頁面上提到的5分鐘長得多。

因此,當您使用API​​密鑰並獲取與我一樣的錯誤消息時,最好稍微休息一下,並在20分鐘內再次檢查,直到API密鑰可用。