Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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"/> 

2 Solutions collect form web for “OnMapReady no llamando aunque la visualización del mapa sin ningún error”

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); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.