¿Cómo usar MapView en Android usando google map V2?

Quiero mostrar un mapa de mi actividad.

En google map V1 usamos –

 

y amplíe la actividad usando la clase MapActivity.

En Versing 2 usa Fragment en lugar de mapview y tiene que extender la actividad por FragmentActivity en lugar de Activity normal. ex-

  

Ahora puedo usar la misma manera para crear la vista de mapa en lugar de Fragment usando la versión 2. ()

¿Alguien puede usar MapView usando V2?

sí, puede usar MapView en v2 … para más detalles, puede obtener ayuda de este

https://gist.github.com/joshdholtz/4522551


SomeFragment.java

 public class SomeFragment extends Fragment implements OnMapReadyCallback{ MapView mapView; GoogleMap map; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.some_layout, container, false); // Gets the MapView from the XML layout and creates it mapView = (MapView) v.findViewById(R.id.mapview); mapView.onCreate(savedInstanceState); mapView.getMapAsync(this); return v; } @Override public void onMapReady(GoogleMap googleMap) { map = googleMap; map.getUiSettings().setMyLocationButtonEnabled(false); map.setMyLocationEnabled(true); /* //in old Api Needs to call MapsInitializer before doing any CameraUpdateFactory call try { MapsInitializer.initialize(this.getActivity()); } catch (GooglePlayServicesNotAvailableException e) { e.printStackTrace(); } */ // Updates the location and zoom of the MapView /*CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(43.1, -87.9), 10); map.animateCamera(cameraUpdate);*/ map.moveCamera(CameraUpdateFactory.newLatLng(43.1, -87.9)); } @Override public void onResume() { mapView.onResume(); super.onResume(); } @Override public void onPause() { super.onPause(); mapView.onPause(); } @Override public void onDestroy() { super.onDestroy(); mapView.onDestroy(); } @Override public void onLowMemory() { super.onLowMemory(); mapView.onLowMemory(); } } 

AndroidManifest.xml

                    

some_layout.xml

    

Muestra más completa de aquí y aquí .

O puede ver mi muestra de diseño. ps no es necesario poner la clave API en la vista del mapa.

      

Tengo un método muy fácil para hacerlo funcionar al 100%

Paso 1: crea una actividad básica y elimina todo el material extra, como la implementación de fab y snakbar para mantenerlo limpio.

Paso 1.5: agrégalos a tu xml:

  

Paso 2: crea una variable privada en la parte superior de tu oncreate:

 private GoogleMap googleMap; 

Paso 3: agrégalo a tu oncreate:

 if (googleMap == null) { googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapNB)).getMap(); } googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); LatLng coordinate = new LatLng(21.182782, 72.830115); CameraUpdate yourLocation = CameraUpdateFactory.newLatLngZoom(coordinate, 11); googleMap.moveCamera(CameraUpdateFactory.newLatLng(coordinate)); googleMap.animateCamera(yourLocation); googleMap.setMyLocationEnabled( true ); googleMap.getUiSettings().setZoomControlsEnabled( true ); googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { somefunction(); return false; } }); 

No olvides agregar tu clave de api de mapas.