2015-04-29 124 views
-1

在Google Maps API v2中,方法animateCamera用于定义查看的缩放级别。例如,Google Maps API v2中的动态缩放Android

googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat1, lng1), 12)); 

这里,缩放级别固定为12.如何确保这里固定变焦值,将允许用户沿线查看源代码和目标点,无需手动缩放

我知道使用试错法和一些if-else条件,可以确定这些值。但是,有没有更复杂的方式来做到这一点?

回答

5

可以使用的LatLngBounds这样的:

LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
builder.include(startPoint); 
builder.include(endPoint); 
LatLngBounds bound = builder.build(); 
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bound, 25), 1000, null); 

的startPoint和端点LatLng对象。

0

Rajat的答案是正确的,但您需要等待地图加载,否则您可能会收到错误“地图大小为0”。

googleMap.setOnMapLoadedCallback(this); 

...

@Override 
public void onMapLoaded() { 
    if (googleMap != null) { 
     LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
     builder.include(startPoint); 
     builder.include(endPoint); 
     LatLngBounds bound = builder.build(); 

     googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bound, 40)); 
    } 
} 
相关问题