谷歌地图api键不工作v2

ton*_*099 4 eclipse android google-maps

我有一个利用谷歌地图的Android应用程序.我已经按照指示操​​作,并使用调试键使应用程序在调试模式下工作.我从这里找到的debug.keystore中检索了我的SHA-1密钥.

C:\用户\自己\ .android\debug.keystore

运用

c:\ Program Files\Java\jdk1.7.0_03\bin> keytool -list -v -keystore c:\ debug.keystore

每当我通过在我的测试手机上运行eclipse的应用程序(运行android 2.3.6)时,地图显示正常.

但是,在完成应用程序后,在已发布的应用程序中,地图未显示.可见的只是灰色瓷砖.

我知道这是API密钥的问题.

所以我创建了一个新密钥(以及带有它的apk),用它从谷歌的控制台生成一个新的API密钥.我删除了用密钥生成的apk,因为它有旧的ApiKey,并在此处粘贴了新的api密钥.

<com.google.android.maps.MapView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:id="@+id/mymap"
android:apiKey="my_api_key"
Run Code Online (Sandbox Code Playgroud)

然后我重新导出了我的项目,但这次使用了我之前创建的相同的键,因为它们包含相同的SHA-1.

但是,地图仍然没有显示,只显示灰色方块.我已通过以下方式在api控制台中输入了SHA-1密钥.

18:3E:1D:8C:XX:XX:XX:XX:XX:XX:XX:XX:XX:X:XX:1D:E1:08:32:8E; com.mycompany.mapapp

我试图恢复到我的调试密钥,但这次调试应用程序(从eclipse运行)也没有显示任何地图.

我的问题如下.

  1. 这仍然是正确的使用方法吗?因为在 - https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key中 - 谷歌使用不同的方法使用片段.

  2. 我错过了什么?

  3. 这种方法是否已弃用或应该有效?

Mar*_*elo 8

您正在为Google Maps V2生成ApiKey,但您使用的是v1 MapView com.google.android.maps.MapView.在Android Maps V2 API上,密钥会放在清单上,您可以com.google.android.gms.maps.MapView使用Google Play服务库来显示地图.

我建议您阅读此处的概述部分,了解如何使用Google Play服务库设置您的项目,并在此处查看新的API参考.


Ari*_*nua 5

如果您正在开发谷歌地图API.你需要有两套map api密钥.通过使用调试密钥库中的SHA1指纹生成的一个映射api密钥,当您在eclipse中调试应用程序并从那里运行时,将使用此映射api密钥.另一个地图api密钥是使用官方或生产密钥库中的SHA1指纹生成的,当您签署或发布应用程序时,将使用此地图api密钥.

我认为您的密钥不匹配,因为清单上的地图api密钥来自调试密钥库,并且您已使用官方密钥库签署了应用程序.

另外我认为你正在开发MapView.现在建议立即使用MapFragments.我这里有链接可能对你有帮助.

快速入门指南:https: //docs.google.com/document/d/1dFzZT0C782BxLkDIUEb711rmsbMmYPURFV_2Cdb36so/edit?usp=sharing

如果您遇到MapFragment或Google Play服务库的问题,请解决问题: 无法实例化android.gms.maps.MapFragment

此外,我在此处有如何/错误声明可能对您有帮助的google-play-services组件.