title: Google Maps won't show up
body: <p>I'm working on a project which involves a "Points of Interest" locator. I have a generated Google Maps API v2 key and I've added all the proper permissions to the AndroidManifest (as you'll see below), and everything compiles...except for the map itself! There's a marker that shows your current location and as well as the GPS coordinates but not the map, which needless to say is essential. Also there are no runtime erros except that the LogCat says at points "There is too much output to process". Any help would be greatly appreciated.</p>
  
  <p><strong>Android Manifest</strong>
  
  
  
  <pre><code>    package="com.example.kavin_000.travelapplication" &gt;
      &lt;!-- suppress AndroidDomInspection --&gt;
      &lt;uses-sdk
      android:minSdkVersion="7"
      android:targetSdkVersion="19" /&gt;
  
      &lt;permission
          android:name="com.example.kavin_000.travelapplication.permission.MAPS_RECEIVE"
          android:protectionLevel="signature" /&gt;
  
  
      &lt;uses-permission android:name="com.example.kavin_000.travelapplication.permission.MAPS_RECEIVE" /&gt;
      &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
      &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
      &lt;uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
  
      &lt;uses-feature
          android:glEsVersion="0x00020000"
          android:required="true"/&gt;
  
      &lt;application
          android:allowBackup="true"
          android:icon="@drawable/nyit_icon"
          android:label="@string/app_name"
          android:theme="@style/AppTheme" &gt;
          &lt;activity
              android:name=".ow_main_page"
              android:label="@string/app_name" &gt;
          &lt;/activity&gt;
          &lt;activity
              android:name=".manhattan_main_page"
              android:label="@string/title_activity_manhattan_main_page" &gt;
          &lt;/activity&gt;
          &lt;activity
              android:name=".main_page"
              android:label="Travel Application" &gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
  
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
  
          &lt;activity
              android:name=".ow_campus_points_of_interest"
              android:label="@string/title_activity_ow_campus_points_of_interest" &gt;
          &lt;/activity&gt;
          &lt;activity
              android:name=".manhattan_campus_points_of_interest"
              android:label="@string/title_activity_manhattan_campus_points_of_interest" &gt;
          &lt;/activity&gt;
  
          &lt;meta-data
              android:name="com.google.android.gms.version"
              android:value="@integer/google_play_services_version" /&gt;
  
          &lt;meta-data
              android:name="com.google.android.maps.v2.API_KEY"
              android:value="MY_KEY" /&gt;
  
      &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>
  
  <p><strong>Layout XML file</strong></p>
  
  <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingRight="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin"
      android:paddingBottom="@dimen/activity_vertical_margin"
      tools:context=".ow_main_page"
      android:background="#ffffb502"&gt;
  
      &lt;fragment
          android:id="@+id/googleMap"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          class="com.google.android.gms.maps.SupportMapFragment"
          android:layout_above="@+id/latlongLocation" /&gt;
  
      &lt;TextView
          android:id="@+id/latlongLocation"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:gravity="bottom"
          android:layout_alignParentBottom="true"
          android:background="#ff058fff"
          android:paddingTop="5dp"
          android:paddingBottom="5dp"
          android:textColor="#ffffffff"
          android:paddingLeft="5dp"
          android:paddingRight="5dp" /&gt;
  
  
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p><strong>Java class in question</strong></p>
  
  <pre><code>package com.example.kavin_000.travelapplication;
  
  import android.location.Criteria;
  import android.location.Location;
  import android.location.LocationListener;
  import android.location.LocationManager;
  import android.os.Bundle;
  import android.support.v4.app.FragmentActivity;
  import android.widget.TextView;
  
  import com.google.android.gms.common.ConnectionResult;
  import com.google.android.gms.common.GooglePlayServicesUtil;
  import com.google.android.gms.maps.CameraUpdateFactory;
  import com.google.android.gms.maps.GoogleMap;
  import com.google.android.gms.maps.SupportMapFragment;
  import com.google.android.gms.maps.model.LatLng;
  import com.google.android.gms.maps.model.MarkerOptions;
  
  public class ow_campus_points_of_interest extends FragmentActivity implements LocationListener {
  
      GoogleMap googleMap;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          //show error dialog if GooglePlayServices not available
          if (!isGooglePlayServicesAvailable()) {
              finish();
          }
          setContentView(R.layout.activity_ow_campus_points_of_interest);
          SupportMapFragment supportMapFragment =
                  (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googleMap);
          googleMap = supportMapFragment.getMap();
          googleMap.setMyLocationEnabled(true);
          LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
          Criteria criteria = new Criteria();
          String bestProvider = locationManager.getBestProvider(criteria, true);
          Location location = locationManager.getLastKnownLocation(bestProvider);
          if (location != null) {
              onLocationChanged(location);
          }
          locationManager.requestLocationUpdates(bestProvider, 20000, 0, this);
      }
  
      @Override
      public void onLocationChanged(Location location) {
          TextView locationTv = (TextView) findViewById(R.id.latlongLocation);
          double latitude = location.getLatitude();
          double longitude = location.getLongitude();
          LatLng latLng = new LatLng(latitude, longitude);
          googleMap.addMarker(new MarkerOptions().position(latLng));
          googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
          googleMap.animateCamera(CameraUpdateFactory.zoomTo(15));
          locationTv.setText("Latitude:" + latitude + ", Longitude:" + longitude);
      }
  
      @Override
      public void onProviderDisabled(String provider) {
          // TODO Auto-generated method stub
      }
  
      @Override
      public void onProviderEnabled(String provider) {
          // TODO Auto-generated method stub
      }
  
      @Override
      public void onStatusChanged(String provider, int status, Bundle extras) {
          // TODO Auto-generated method stub
      }
  
      private boolean isGooglePlayServicesAvailable() {
          int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
          if (ConnectionResult.SUCCESS == status) {
              return true;
          } else {
              GooglePlayServicesUtil.getErrorDialog(status, this, 0).show();
              return false;
          }
      }
  }
  </code></pre>