Reemplazar getMap con getMapAsync

Quiero reemplazar el obsoleto método getMap con getMapAsync , pero no MapFragment pero GoogleMap como este:

 private GoogleMap googleMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map); try { if(googleMap == null) { googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); } googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); googleMap.setMyLocationEnabled(true); googleMap.setTrafficEnabled(true); googleMap.setIndoorEnabled(true); googleMap.setBuildingsEnabled(true); googleMap.getUiSettings().setZoomControlsEnabled(true); 

Si reemplazo el googleMap con MapFragment como este ya no soy capaz de setMapType y así sucesivamente. Entonces, ¿cómo puedo cambiar a getMapAsync en mi caso?

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

3 Solutions collect form web for “Reemplazar getMap con getMapAsync”

Como en el documento oficial, obtener mapa asincrónico requiere una devolución de llamada; ¡Está allí su "punto de entrada principal" para la materia de google maps!

 public class MapPane extends Activity implements OnMapReadyCallback { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.map_activity); MapFragment mapFragment = (MapFragment) getFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { //DO WHATEVER YOU WANT WITH GOOGLEMAP map.setMapType(GoogleMap.MAP_TYPE_HYBRID); map.setMyLocationEnabled(true); map.setTrafficEnabled(true); map.setIndoorEnabled(true); map.setBuildingsEnabled(true); map.getUiSettings().setZoomControlsEnabled(true); } } 

Muy simple, basta con que su Actividad implemente la interfaz OnMapReadyCallback y, a continuación, asigne su referencia googleMap en la devolución de llamada onMapReady() .

A continuación, realice cualquier acción en googleMap que desee.

Aquí hay un ejemplo sencillo:

 public class MainActivity extends Activity implements OnMapReadyCallback { private GoogleMap googleMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MapFragment mapFragment = (MapFragment) getFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { googleMap = map; setUpMap(); } public void setUpMap(){ googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); googleMap.setMyLocationEnabled(true); googleMap.setTrafficEnabled(true); googleMap.setIndoorEnabled(true); googleMap.setBuildingsEnabled(true); googleMap.getUiSettings().setZoomControlsEnabled(true); } } 

Si utiliza MapFragment todavía puede utilizar el método stMapType. Implementar OnMapReadyCallback en su actividad. Crear MapFragment y llamar al método getAsyncMap en ese objeto. Se le pedirá que inplement onMapReady (GoogleMap mapa) método allí se puede establecer el tipo de mapa y así sucesivamente. Espero eso ayude.

  • Pantalla en blanco de la API de Google Map API V2
  • GetMap () devuelve null en Android con Google Maps API v2
  • ¿Cómo cambiar el icono de marcador de lo que fue aprovechado?
  • Determinar un nivel de zoom razonable para Google Maps dada la precisión de la ubicación
  • Google Map personaliza la imagen de marcador con picasso, se actualiza dos veces para mostrar la imagen
  • Android Google Maps v2 dentro de Scrollview muestra mosaicos grises en algunos dispositivos
  • ¿Cómo resolver el requisito de permiso setMyLocationEnabled?
  • Android Studio Maps Api v2
  • ¿Cómo obtener todos los grandes almacenes presentes en una ciudad en Android con google lugares?
  • SetRadius en Circle da mala experiencia de usuario en Google Maps
  • Google maps V2 - Error de autorización, no puedo mostrar el mapa
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.