studio name llegar google example ejemplo data como api_key android google-maps google-play-services google-maps-api-2

android - name - onMapReady no llama aunque el mapa se muestre sin ningún error



google maps api key android (2)

AFAIK, onMapReady() se desencadena por una llamada a getMapAsync() en su MapFragment , y no veo a dónde llama.

Intento mostrar un mapa simple usando Google map API v2 en una aplicación de Android. Estoy siguiendo las instrucciones de documentación de Map API . 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á trabajando con los controles iniciales. ¿Alguien puede 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"/>


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

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

Luego añade:

// This calls OnMapReady(..). (Asynchronously) mapFragment.getMapAsync(MapDisplay.this);