2013-02-07 48 views
15

Như tiêu đề, trong bản đồ v1 tôi có thể sử dụngGoogle Map V2 cách đặt ZoomToSpan?

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

bao gồm tất cả các dấu hiệu trên màn hình.

Bản đồ liều V2 có cùng phương pháp?


2013/2/22 chỉnh sửa:

đầu tiên, có được tất cả các điểm LatLng bạn muốn tham gia trên màn hình.

Giả sử nếu bạn có 3 điểm LatLng, sử dụng

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

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

Bạn đã bao giờ nhận được một câu trả lời về vấn đề này? Tôi cũng không thể tìm thấy một tương đương ZoomToSpan. – LilMoke

+3

Di chuyển bản chỉnh sửa của bạn để trả lời và chấp nhận. Một số người dùng dường như không nhận được nó, bạn trả lời chính mình. –

Trả lời

0

Tôi hy vọng điều này sẽ được sử dụng đầy đủ cho bạn.

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

đồ 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); 
    } 
} 

bạn có thể thay đổi giá trị của 12, có nghĩa là mức độ zoom của tải bản đồ. Hãy vui vẻ!

2

Hãy thử này

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

phương pháp Fews của bản đồ V2 Google có thể làm những điều tương tự:

static CameraUpdate newLatLngBounds(LatLngBounds bounds, int padding) 

Trả về một CameraUpdate rằng biến máy ảnh như vậy mà các vĩ độ quy định/kinh độ giới hạn được căn giữa trên màn hình ở mức thu phóng lớn nhất có thể.

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

Trả về một CameraUpdate rằng biến máy ảnh như vậy mà vọt vĩ độ/kinh độ quy định được tập trung trên màn hình trong một khung giới hạn của kích thước quy định tại mức zoom lớn nhất có thể.

static CameraUpdate newLatLngZoom(LatLng latLng, float zoom) 

Trả về một CameraUpdate mà di chuyển trung tâm của màn hình để một vĩ độ và kinh độ theo quy định của một đối tượng LatLng, và di chuyển đến cấp độ zoom nhất định.

Dưới đây là một ví dụ sử dụng một trong số họ:

googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(geoPoint, zoom)); 
Các vấn đề liên quan