地图显示灰色区域 - 机器人

时间:2014-09-18 01:49:20

标签: android maps

这段代码可能有什么问题? 我没有看到什么可能是intrefering和API密钥是正确的,但它继续显示灰色区域。

有人能说一下这个吗?

主要活动

package com.example;

*ALL THE IMPORTS


public class MainActivity extends Activity {
    private GoogleMap googleMap;
    private int mapType = GoogleMap.MAP_TYPE_NORMAL;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentManager fragmentManager = getFragmentManager();
        MapFragment mapFragment =  (MapFragment) fragmentManager.findFragmentById(R.id.map);
        googleMap = mapFragment.getMap();
        googleMap.setMapType(mapType);
    }
}   

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<fragment 
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          class="com.google.android.gms.maps.MapFragment"/>

</RelativeLayout>

清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk 
        android:minSdkVersion="11" 
        android:targetSdkVersion="17"/>

    <permission
        android:name="com.example.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>


    <!--Required permissions-->

    <uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <!--Used by the API to download map tiles from Google Maps servers: -->
    <uses-permission android:name="android.permission.INTERNET"/>

    <!--Allows the API to access Google web-based services: -->
    <uses-permission
    android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

    <!--Allows the API to cache map tile data in the device's external storage area: -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


    <!--Optional permissions-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <!--Version 2 of the Google Maps Android API requires OpenGL ES version 2 -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

    <application 
        android:label="@string/app_name" 
        android:icon="@drawable/ic_launcher">

        <activity 
            android:name="com.example.MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
        <meta-data
           android:name="com.google.android.maps.v2.API_KEY"
           android:value="my api"/>
        </application>

</manifest>

说真的,这个地图让我很生气。

2 个答案:

答案 0 :(得分:0)

检查这些事情

  1. 更正API密钥和

    1. in manifest
  2. Google地图应该在您的开发者控制台中启用

  3. 清单中的INTERNET PERMISSION
  4. 更新了Google Play服务

答案 1 :(得分:-1)

好的,我找到了一个解决方案,在我看来非常愚蠢,但它确实有效。

我必须在layout.xml中声明api键

之后,一切都像魅力