2013-02-07 3 views
15

Comme le titre, la carte v1 je pourrais utiliserGoogle Map V2 comment régler ZoomToSpan?

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

pour inclure tous les marqueurs à l'écran.

Carte de dose V2 a la même méthode?


2013/2/22 modifier:

premier, obtenir tous les points LatLng que vous souhaitez associer à l'écran.

Supposons que si vous avez 3 points LatLng, utilisez

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

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

Avez-vous jamais obtenir une réponse à ce sujet? Je ne peux pas non plus trouver d'équivalent ZoomToSpan. – LilMoke

+3

Déplacez votre modification pour répondre et l'accepter. Certains utilisateurs semblent ne pas l'avoir vous-même répondu. –

Répondre

0

J'espère que ce sera pleinement pour vous.

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

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

vous pouvez changer la valeur de 12, qui est le niveau de zoom de la charge de la carte. Amusez-vous!

2

Essayez cette

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

méthodes FEWS de carte Google V2 peut faire les mêmes choses:

static CameraUpdate newLatLngBounds(LatLngBounds bounds, int padding) 

Renvoie une CameraUpdate qui transforme la caméra de telle sorte que la latitude/longitude spécifiée les limites sont centrées sur l'écran au plus haut niveau de zoom possible.

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

Renvoie une CameraUpdate qui transforme la caméra de telle sorte que les limites de latitude/longitude spécifiées sont centrées sur l'écran dans une zone de délimitation des dimensions spécifiées au plus haut niveau de zoom possible.

static CameraUpdate newLatLngZoom(LatLng latLng, float zoom) 

Renvoie un CameraUpdate qui déplace le centre de l'écran à une latitude et la longitude spécifiée par un objet LatLng, et se déplace au niveau de zoom donné.

Voici un exemple d'utiliser l'un d'entre eux:

googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(geoPoint, zoom)); 
Questions connexes