title: My app doesn't show Google maps
body: <p>I am developing an android application using Google maps, I have edited the code to get current user location but when I run the code , the maps don't appear. I am not getting any error or warning . All I can see on my emulator is grey screen with a marker on it.<br>
  Please let me know what I am doing wrong.</p>
  
  <pre><code>package com.example.shubham.mapsandgeolcationservices;
  import android.Manifest;
  import android.content.Context;
  import android.content.pm.PackageManager;
  import android.location.Location;
  import android.location.LocationListener;
  import android.location.LocationManager;
  import android.os.Build;
  import android.support.annotation.NonNull;
  import android.support.v4.app.ActivityCompat;
  import android.support.v4.app.FragmentActivity;
  import android.os.Bundle;
  import android.support.v4.content.ContextCompat;
  import com.google.android.gms.maps.CameraUpdateFactory;
  import com.google.android.gms.maps.GoogleMap;
  import com.google.android.gms.maps.OnMapReadyCallback;
  import com.google.android.gms.maps.SupportMapFragment;
  import com.google.android.gms.maps.model.LatLng;
  import com.google.android.gms.maps.model.MarkerOptions;
  
  import static android.location.LocationManager.*;
  
  public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
      LocationManager locationManager;
      LocationListener locationListener;
      private GoogleMap mMap;
  
      @Override
      public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
          super.onRequestPermissionsResult(requestCode, permissions, grantResults);
          if (grantResults.length &gt; 0 &amp;&amp; grantResults[0] == PackageManager.PERMISSION_GRANTED) {
              if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
                  locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
          }
  
          }
  
  
  
  
  
  @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_maps);
          // Obtain the SupportMapFragment and get notified when the map is ready to be used.
          SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                  .findFragmentById(R.id.map);
          mapFragment.getMapAsync(this);
  }
  
  
  
      /**
       * Manipulates the map once available.
       * This callback is triggered when the map is ready to be used.
       * This is where we can add markers or lines, add listeners or move the camera. In this case,
       * we just add a marker near Sydney, Australia.
       * If Google Play services is not installed on the device, the user will be prompted to install
       * it inside the SupportMapFragment. This method will only be triggered once the user has
       * installed Google Play services and returned to the app.
       */
      @Override
      public void onMapReady(GoogleMap googleMap) {
          mMap = googleMap;
  
          locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
          locationListener = new LocationListener() {
              @Override
              public void onLocationChanged(Location location) {
                  // Add a marker in Sydney and move the camera
                  LatLng ShanivarWada= new LatLng(location.getLatitude(),location.getLongitude());
                  mMap.clear();
                  mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
                  mMap.addMarker(new MarkerOptions().position(ShanivarWada).title("Shaniwar Wada"));
                  mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(ShanivarWada,18));
              }
  
              @Override
              public void onStatusChanged(String provider, int status, Bundle extras) {
  
              }
  
              @Override
              public void onProviderEnabled(String provider) {
  
              }
  
              @Override
              public void onProviderDisabled(String provider) {
  
              }
          };
  
          if(Build.VERSION.SDK_INT&lt;23){
              locationManager.requestLocationUpdates(GPS_PROVIDER,0,0,locationListener);
          }
          else {
              if(ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED)
              {
                  ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
              }else{
                 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
  
                  Location lastKnownLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
  
                  LatLng ShanivarWada= new LatLng(lastKnownLocation.getLatitude(),lastKnownLocation.getLongitude());
                  mMap.clear();
                  mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
                  mMap.addMarker(new MarkerOptions().position(ShanivarWada).title("Shaniwar Wada"));
                  mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(ShanivarWada,18));
              }
          }
  
      }
  }
  </code></pre>