Google-Karte in Android, Anzeige in kleiner Kartenansicht

Ich möchte den Standort in der Kartenansicht anzeigen und die Kartengröße sollte 200X200 sein. Ich habe versucht, die Karte in der Kartenansicht zu laden, aber sie wird nicht richtig angezeigt, nachdem ich auf das 2- bis 3-fache der Anzeige der korrekten Karte getippt habe, aber sie bewegt sich nicht.

Aber wenn ich die gesamte Größe des Bildschirms für die Anzeige der Karte verwende, ohne den Code zu ändern, wird diese korrekt geladen. Wie kann ich dieselbe in einer kleinen Ansicht anzeigen?

Kartencode-

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

Lösung - Fertig mit Fragment -

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-Code -

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 ist der Breiten- und Längengrad Ihres Standorts.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage