Гугл карта в андроиде, отображение в небольшом размере

Я хочу отобразить местоположение в виде карты, а размер карты должен быть 200X200. Я попытался загрузить карту в режиме просмотра карты, но она не отображается должным образом после нажатия на указатель направления в 2–3 раза, когда карта отображается правильно, но не движется.

Но когда я использую полный размер экрана для отображения карты без изменения какого-либо кода, он загружается правильно. Как я могу отобразить то же самое в небольшом представлении?

код карты

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));

Решение - Готово с использованием фрагмента -

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>

код 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 - это широта и долгота вашего местоположения.

Ответы на вопрос(2)

Ваш ответ на вопрос