2013-02-07 10 views
15

Als Titel, in der Karte v1 konnte ichGoogle Map V2 wie wird ZoomToSpan eingestellt?

mapController.zoomToSpan(..., ..., ...); 

verwenden, um alle Markierungen auf dem Bildschirm aufzunehmen.

Dosis Karte V2 hat die gleiche Methode?


2013/2/22 edit:

erste, erhalten alle LatLng Punkte, die Sie auf dem Bildschirm einbinden wollen.

Angenommen, wenn Sie 3 LatLng Punkte haben, verwenden Sie

LatLngBounds bounds = new LatLngBounds.Builder().include(point1) 
        .include(point2).include(point3).build(); 

mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 50)); 
+0

Haben Sie jemals eine Antwort auf diese bekommen? Ich kann auch kein ZoomToSpan-Äquivalent finden. – LilMoke

+3

Verschieben Sie Ihre Bearbeitung, um sie zu beantworten und zu akzeptieren. Einige Nutzer scheinen es nicht zu bekommen. –

Antwort

0

Ich hoffe, das volle Ihnen nützlich sein wird.

public class GoogleMapActivity extends FragmentActivity { 

private GoogleMap map; 
Bundle extras; 

LatLng latlng; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.google); 

    extras = getIntent().getExtras(); 
    if (extras != null) { 
     unit_long = extras.getString("unit_long"); 
     unit_lat = extras.getString("unit_lat"); 

    } 

    latlng = new LatLng(Double.parseDouble("19.25252"), 
      Double.parseDouble("23.25252525")); 

    map = ((SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map)).getMap(); 

    Marker hamburg = map.addMarker(new MarkerOptions().position(latlng) 
      .title("Location").snippet("I am here") 
      .icon(BitmapDescriptorFactory.fromResource(R.drawable.marker))); 

    map.moveCamera(CameraUpdateFactory.newLatLngZoom(latlng, 15)); 

    // Zoom in, animating the camera.use this line in your code 
    map.animateCamera(CameraUpdateFactory.zoomTo(14), 2000, null); 
    // map.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
    map.setMapType(GoogleMap.MAP_TYPE_NORMAL); 

} 
} 
0

Karte V2

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); 
GoogleMap map = ((SupportMapFragment)getSupportFragmentManager() 
              .findFragmentById(R.id.map)).getMap(); 
map.setMapType(GoogleMap.MAP_TYPE_NORMAL); 

    if (map != null) { 
     // Zoom in, animating the camera. 
    map.animateCamera(CameraUpdateFactory.zoomTo(12), 2000, null); 
    } 
} 

Sie den Wert 12 ändern kann, das ist die Zoomstufe der Karte Last. Viel Spaß!

2

Try This

map.addMarker(new MarkerOptions().position(latlng)).setVisible(true); 

    // Move the camera instantly to location with a zoom of 15. 
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(latlng, 15)); 

    // Zoom in, animating the camera. 
    map.animateCamera(CameraUpdateFactory.zoomTo(14), 2000, null); 
0

Fews Methoden der Google-Karte V2 können die gleichen Dinge tun:

static CameraUpdate newLatLngBounds(LatLngBounds bounds, int padding) 

Gibt eine Camera, die die Kamera so, dass die angegebene Breite/Länge transformiert Grenzen werden auf dem Bildschirm bei der größtmöglichen Zoomstufe zentriert.

static CameraUpdate newLatLngBounds(LatLngBounds bounds, int width, int height, int padding) 

Gibt eine Camera, die die Kamera so, dass die angegebene Breite/Länge Grenzen sind zentriert auf dem Bildschirm in einem Begrenzungsrahmen angegebenen Maße auf größtmögliche Zoomstufe umwandelt.

static CameraUpdate newLatLngZoom(LatLng latLng, float zoom) 

Gibt ein Camera, die die Mitte des Bildschirms zu einer Breite und Länge von einem LatLng-Objekt, und bewegt sich in die gegebenen Zoomstufe angegeben bewegt.

Hier ist ein Beispiel einer von ihnen zu verwenden:

googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(geoPoint, zoom)); 
Verwandte Themen