Mapa de Google en android, muestra en tamaño pequeño mapview

Quiero mostrar la ubicación en la vista del mapa y el tamaño del mapa debe ser 200X200. Intenté cargar el mapa en mapview pero su no exhibir correctamente después de golpear ligeramente en el indicador de dirección 2 a 3 veces su exhibir el mapa correcto pero no moviéndose.

mapa

Pero cuando utilizo el tamaño completo de la pantalla para mostrar el mapa sin cambiar ningún código es la carga correcta. ¿Cómo puedo mostrar la misma vista pequeña iin?

Mapa código-

static GoogleMap map; private MapView mapView; MapsInitializer.initialize(getApplicationContext()); switch (GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()) ) { case ConnectionResult.SUCCESS: //Toast.makeText(getActivity(), "SUCCESS", Toast.LENGTH_SHORT).show(); mapView = (MapView)findViewById(R.id.map); mapView.onCreate(savedInstanceState); // Gets to GoogleMap from the MapView and does initialization stuff if(mapView!=null) { map = mapView.getMap(); map.getUiSettings().setMyLocationButtonEnabled(false); map.setMyLocationEnabled(true); CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(location, 10); map.animateCamera(cameraUpdate); map.setMapType(GoogleMap.MAP_TYPE_NORMAL); } break; case ConnectionResult.SERVICE_MISSING: //Toast.makeText(getActivity(), "SERVICE MISSING", Toast.LENGTH_SHORT).show(); break; case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED: //Toast.makeText(getActivity(), "UPDATE REQUIRED", Toast.LENGTH_SHORT).show(); break; default: Toast.makeText(getApplicationContext(), GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()), Toast.LENGTH_SHORT).show(); } CameraPosition cameraPosition = new CameraPosition.Builder() .target(location).zoom(10).bearing(0) // Sets the orientation of the camera to east .tilt(70) // Sets the tilt of the camera to 30 degrees .build(); // Creates a CameraPosition from the builder map.setBuildingsEnabled(true); map.setMyLocationEnabled(true); map.setMapType(GoogleMap.MAP_TYPE_NORMAL); map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 

Solución – Hecho con fragmento –

Map_screen.xml

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <fragment android:id="@+id/mapfragment" android:layout_width="wrap_content" android:layout_height="200dp" android:layout_alignParentTop="true" android:layout_gravity="center_horizontal" class="com.google.android.gms.maps.SupportMapFragment" /> <TextView android:id="@+id/reg_office_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/mapfragment" android:layout_gravity="center_horizontal" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" android:gravity="center" android:text="@string/tata_auto" android:textColor="@color/tatablue" android:textSize="18sp" /> </RelativeLayout> 

Código java

 public class MapFragment extends Fragment { private View view; public GoogleMap map; private Location location; private LatLng mAddress1; public static boolean inMap=false; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { // TODO Auto-generated method stub view= inflater.inflate(R.layout.contact_map, container, false); setMapView(); return view; } private void setMapView(){ CurrentLocation mCurrentLoc=new CurrentLocation(getActivity()); location = CurrentLocation.locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if (location != null) { mCurrentLoc.onLocationChanged(location); } else { mCurrentLoc.onLocationChanged(location); } //class="com.google.android.gms.maps.SupportMapFragment" map = ((SupportMapFragment)getActivity().getSupportFragmentManager().findFragmentById(R.id.mapfragment)).getMap(); CameraPosition cameraPosition = new CameraPosition.Builder() .target(mAddress1).zoom(8).bearing(0) // Sets the orientation of the camera to east .tilt(30) // Sets the tilt of the camera to 30 degrees .build(); // Creates a CameraPosition from the builder map.setBuildingsEnabled(true); map.setMyLocationEnabled(true); map.setMapType(GoogleMap.MAP_TYPE_NORMAL); map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); } } 

MAddress1 es latitud y longitud de su ubicación.

2 Solutions collect form web for “Mapa de Google en android, muestra en tamaño pequeño mapview”

He probado el siguiente código y no hay problemas con el mapa para el tamaño 200dp x 200dp

Diseño:

  <fragment android:id="@+id/map" class="com.google.android.gms.maps.SupportMapFragment" android:layout_width="200dp" android:layout_height="200dp" /> </LinearLayout> 

Fragmento:

 public class LocationFragment extends Fragment { GoogleMap googleMap; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_location, container, false); googleMap = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); MapsInitializer.initialize( getActivity().getApplicationContext() ); googleMap.addMarker(new MarkerOptions() .position( new LatLng( 38.7222524, -9.139336599999979) .title("MyLocation") .icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_mobileedge_navpoint))); // Move the camera instantly with a zoom of 15. googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom( new LatLng( 38.7222524, -9.139336599999979), 15)); // Zoom in, animating the camera. googleMap.animateCamera(CameraUpdateFactory.zoomTo(12), 1000, null); return v; } } 

Veo que está utilizando MapView en lugar de MapFragment. En Google Maps V2, la antigua clase MapView com.google.android.maps.MapView está obsoleta. Así que asegúrate de usar el MapView correcto tanto en tu código Java como en el diseño XML que debería ser

 import com.google.android.gms.maps.MapView; 

y

 <com.google.android.gms.maps.MapView android:id="@+id/map_view" android:layout_width="your_width" android:layout_height="your_height" /> 

También asegúrese de haber realizado todos los cambios necesarios en AndroidManifest.xml, que incluye definir la API_KEY para Maps V2 como se describe aquí .

Aparte de esto, hay una cosa importante que tienes que hacer si estás usando MapView en lugar de un MapFragment, tienes que llamar a las funciones sobrepuestas de MapView explícitamente dentro de las sustituciones correspondientes de la actividad residente como,

 public class YourMapActivity extends Activity { MapView mMapView; GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Your OnCreate with Map Initialization */ mMapView = (MapView) findViewById(R.id.map_view); mMapView.onCreate(Bundle.EMPTY); mMap = mMapView.getMap(); MapsInitializer.initialize(this); } @Override protected void onResume() { mMapView.onResume(); super.onResume(); } @Override protected void onPause() { mMapView.onPause(); super.onPause(); } @Override protected void onDestroy() { mMapView.onDestroy(); super.onDestroy(); } @Override public void onLowMemory() { mMapView.onLowMemory(); super.onLowMemory(); } } 

Esto debería ser suficiente para cargar un MapView de tamaño personalizado en su Acitivity. También puede utilizar las siguientes funciones para adaptarlas a sus necesidades.

 mMapView.setClickable(false); mMap.getUiSettings().setMyLocationButtonnabled(false); mMap.getUiSettings().setZoomControlsEnabled(false); mMap.getUiSettings().setCompassEnabled(false); mMap.getUiSettings().setZoomGesturesEnabled(false); mMap.getUiSettings().setScrollGesturesEnabled(false); mMap.setMyLocationEnabled(true); 
  • Google Maps Android API v2 en China - la carga del mapa tomó alrededor de una hora
  • ¿Cómo puedo crear una aplicación de Android en Android Studio que usa Google Maps Api v2?
  • Android Google Map V2: Cómo cambiar el icono del marcador pulsado anterior cuando se hace clic en otro marcador
  • API de Google Maps para Android da un NoClassDefFoundError
  • Google maps - posición de la cámara con marcador en la parte inferior
  • Mostrar la información personalizada de InfoWindow para Android Maps Utility Library for Android
  • Cómo envolver el fragmento GoogleMap en un LinearLayout?
  • Cómo mostrar la animación de ondulación en google map en Android?
  • Android: para dibujar una ruta entre dos puntos geográficos
  • ¿Dónde encuentro el texto de atribución de Google Play Services?
  • Puedo cambiar mi ubicación en los mapas de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.