Google地图未显示/空白

时间:2015-09-29 10:34:38

标签: android google-maps android-studio google-play-services

我发现了不同的主题,但是我的活动中的地图都没有。 我遵循谷歌提供的关于使用谷歌播放服务地图的指南:

  1. 我已下载并添加到我的图书馆google play服务
  2. 我已根据服务>创建了一项新活动地图活动 模板
  3. 我已按照google_maps_api.xml中的说明操作 得到api密钥
  4. 在我的设备上构建并运行应用程序
  5. 意识到我错过了我已经添加了清单中其他线程建议的权限
  6. <?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键,但我从未使用它。

    希望有人可以帮我解决这个问题

4 个答案:

答案 0 :(得分:2)

当你看不到地图时也没有错误,这意味着它是API密钥的问题。您需要从谷歌获取API密钥才能完美地使用Google地图。要获取API密钥,您需要执行一些步骤,在其中一个步骤中,您需要使用SHA指纹密钥。但是,下面的链接会显示步骤。

https://developer.xamarin.com/guides/android/platform_features/maps_and_location/maps/obtaining_a_google_maps_api_key/

答案 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