在Android Studio中编译代码时,Google地图视图始终显示为空白?

时间:2015-12-29 13:53:06

标签: android google-maps android-studio

我在Android Studio中处理的项目有一个非常烦人的问题。

我有另一位开发人员为我编写代码,部分应用程序都有Google地图视图。

当这个人给我发送原始代码时,我可以在Android Studio中打开项目,编译它,然后在设备上运行它,一切正常 - 除了Google地图是空白的 - 灰色屏幕,带有“Google”徽标在角落里。

如果此人向我发送了一个APK文件,我可以将其直接下载到我的手机上,它运行正常。地图显示和加载应该。

他发送的APK是从相同的代码编译的,但是在他的末尾编译。

我在SO上看到几个关于空白谷歌地图的问题,以及可能的代码解决方案 - 但是因为APK工作正常,它肯定不能成为代码问题吗?

我已确保所有Android Studio都更新到最新版本,但每次在我的机器上编译代码时,都会显示此空白地图。

有什么想法来解决这个问题?我在安装Android Studio时需要做些什么来加载地图,还是我需要加载或安装API?

这让我疯了,因为我无法直接对我的机器上的代码进行任何更改,并且需要总是让其他开发人员进行任何小的更改,然后在他的机器上编译并发送给我APK! p>

(PS:我们在不同的地方,所以只是比较我们的装置不是一种选择!)

2 个答案:

答案 0 :(得分:1)

这是因为,谷歌地图api密钥仅为一个系统生成。您必须为您生成系统并将其添加到谷歌开发者控制台。

如果您使用的是android studio。 转到文件>>新>> Google>>谷歌地图活动

然后从值文件夹

打开google_maps_api.xml

它会自动生成ssh密钥并创建一个google开发者控制台链接,您可以打开并获取密钥

<resources>
 <!--
TODO: Before you run your application, you need a Google Maps API key.

To get one, follow this link, follow the directions and press "Create" at the end:

https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=CB:41:8F:F6:BC:E8:AD:81:A1:77:3D:9B:E2:7D:06:55:E4:49:48:EE%3Bcom.map.example

You can also add your credentials to an existing key, using this line:
CB:41:8F:F6:BC:E8:AE:CB:41:8F:F6:BC:E8:AE;com.map.example

Alternatively, follow the directions here:
https://developers.google.com/maps/documentation/android/start#get-key

Once you have your key (it starts with "AIza"), replace the "google_maps_key"
string in this file.
-->
 <string name="google_maps_key" translatable="false" templateMergeStrategy="preserve">
YOUR_KEY_HERE
 </string>
</resources>

获得密钥后,您可以在AndroidManifest.xml中使用它

 <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="Axxxxxxxxxxxxxxxxx" /> // Ur API key from developers console

答案 1 :(得分:0)

可能是因为您使用不同的密钥库来运行应用程序。要求开发人员发送他用于构建apk的密钥库,并使用该密钥库并运行