我发现了不同的主题,但是我的活动中的地图都没有。 我遵循谷歌提供的关于使用谷歌播放服务地图的指南:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.labinfo.hotels.core" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="net.labinfo.hotels.core.permission.MAPS_RECEIVE"/>
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="net.labinfo.hotels.core.permission.C2D_MESSAGE" />
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<application
android:allowBackup="true"
android:largeHeap="true"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.analytics.globalConfigResource"
android:resource="@xml/global_tracker" />
.....
</activity>
<activity
android:name=".components.activities.avis.AvisMappaActivity"
android:label="@string/title_activity_avis_mappa" >
</activity>
<uses-library android:name="com.google.android.maps"/>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_key" />
</application>
</manifest>
结果仍然是活动仅显示角落中的Google徽标,并且没有来自logcat的错误或通知的迹象。 我错过了什么吗?我看到在谷歌控制台生成api键期间,它向我显示了一个SHA键,但我从未使用它。
希望有人可以帮我解决这个问题
答案 0 :(得分:2)
当你看不到地图时也没有错误,这意味着它是API密钥的问题。您需要从谷歌获取API密钥才能完美地使用Google地图。要获取API密钥,您需要执行一些步骤,在其中一个步骤中,您需要使用SHA指纹密钥。但是,下面的链接会显示步骤。
答案 1 :(得分:1)
我已经解决了。正如你们所有人都建议的那样,它是API密钥,特别是与该密钥相关的权限。
我的问题是包名,因为我使用了具有不同模块的应用程序,发送到服务器的包名称与用于自动创建密钥的包名称不同。所以我已经修复了问题,添加了具有相同SHA1密钥的另一个包名称。
对于所有未来的读者,我希望您注意到,在我从SupportMapFragment切换到MapFragment之前,我没有显示任何错误,因此我建议您进行调试。
感谢任何人的帮助,欢呼。
答案 2 :(得分:0)
当地图显示为空白时,原因会导致API密钥出现问题。我会检查你是否正确生成了API密钥。
答案 3 :(得分:0)
在清单
的应用程序标记中添加此行 <meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
还要确保正确生成api密钥。 请访问此链接How to generate the api key