【发布时间】:2013-02-23 13:47:16
【问题描述】:
我有一个使用谷歌地图的安卓应用程序。 我已按照说明使用调试键使应用程序在调试模式下工作。 我已从此处找到的 debug.keystore 检索到我的 SHA-1 密钥。
c:\Users\myself\.android\debug.keystore
使用
c:\Program Files\Java\jdk1.7.0_03\bin>keytool -list -v -keystore c:\debug.keystore
每当我通过在我的测试手机(运行 android 2.3.6)上运行 eclipse 中的应用程序使用系留调试时,地图显示良好。
但是,完成应用程序后,在已发布的应用程序中地图没有显示。可见的只有灰色瓷砖。
我知道这是 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"
然后我重新导出了我的项目,但这次使用的密钥与我之前创建的步骤相同,因为它们包含相同的 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 运行)也没有显示任何地图。
我的问题如下。
这仍然是正确的使用方法吗?因为在 --https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key -- google 使用了不同的方法来使用片段。
我错过了什么?
此方法是否已弃用或应该有效?
【问题讨论】:
-
向我们展示您的 AndroidManifest。我也想知道 "18:3E:1D:8C:xx:xx:xx:xx:xx:xx:xx:xx:xx:x:xx:1D:E1:08:32:8E; com 中的空间.mycompany.mapapp",尝试删除它。
-
输入错误。现已更正。
标签: android eclipse google-maps