OnMapReady no llamando aunque la visualización del mapa sin ningún error

Estoy intentando mostrar un mapa simple usando Google Map API v2 en una aplicación de Android. Estoy siguiendo las instrucciones de la documentación de la API del mapa . Pero creo que el onMapReady no está llamando por alguna razón. Estoy usando la versión 6587000 google-play-services_lib . Mi teléfono tiene google-play-services_lib verion 6587038 , creo.

El mapa de Google está funcionando con los controles iniciales. ¿Puede alguien ayudarme a corregir este error?

 public class MapDisplay extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; private Location mCurrentLocation; private MarkerOptions mMarkerOptions ; private MapFragment mMapFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.location_map); /** not needed mMapFragment = MapFragment.newInstance(); FragmentTransaction fragmentTransaction = getFragmentManag er().beginTransaction(); fragmentTransaction.add(R.id.map, mMapFragment); fragmentTransaction.commit();*/ /**corrected code*/ MapFragment mapFragment = (MapFragment) getFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { toast("Map ready"); Log.d("--***** MAP ","::Map ready"); LatLng sydney = new LatLng(-33.867, 151.206); map.setMyLocationEnabled(true); map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 13)); map.addMarker(new MarkerOptions() .title("Sydney") .snippet("The most populous city in Australia.") .position(sydney)); } private void toast(String text){ Toast toast = Toast.makeText(this, text, Toast.LENGTH_SHORT); toast.show(); } } 

Archivo location_map.xml

 <?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:name="com.google.android.gms.maps.MapFragment" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent"/> 

AFAIK, onMapReady() es activado por una llamada a getMapAsync() en tu MapFragment , y no veo donde lo estás llamando.

Para llamar a OnMapReady(GoogleMap map) , agregue lo siguiente a su onCreate(...) :

 MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map); 

Luego añade:

 // This calls OnMapReady(..). (Asynchronously) mapFragment.getMapAsync(MapDisplay.this); 
  • Cómo dibujar Polyline interactivo en la ruta google maps v2 android
  • ¿Cómo puedo agregar un botón a la ventana de información de un marcador?
  • Android Google Maps v2 no muestra el icono Compass and Location
  • ¿Es posible especificar el <uses-permission> mediante programación?
  • Com.google.android.maps.MapView muestra los mosaicos desactualizados
  • Cómo actualizar marcadores en el mapa cuando se utiliza ClusterManager
  • Definición de un CameraUpdate con LatLngBounds con diferentes valores de relleno
  • ¿Cómo puedo obtener la ubicación del centro en los mapas v2 en Android?
  • Buscar ruta con Androids API de Google Maps
  • Cómo agregar azulejos al mapa de google y animarlos es decir reemplazándolos con los azulejos nuevos continuamente
  • GoogleMap moveCamera o animateCamera según LatLngBounds no es exacta
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.