我一直試圖讓谷歌地圖工作幾個小時,但我得到的只是一個灰色的屏幕。根本沒有地圖。我知道這裏也有類似的問題,但我沒有進一步閱讀所有這些問題。谷歌地圖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我想使用不同的?