修复Google-Map中两个Marker之间的缩放级别

Ami*_*mir 3 android google-maps google-maps-api-2

目前我使用Google-Map-v2,我想在两个标记之间显示方向.一切都很好,两个标记之间的方向计算和绘制正常.但只有一个问题仍然存在.

问题是Google-Map中这两个标记之间的缩放级别太多了.我搜索SO并找到一个解决方案,通过以下代码更改缩放级别:

 LatLngBounds.Builder builder = new LatLngBounds.Builder();
    builder.include(origin);
    builder.include(dest);
    LatLngBounds bounds = builder.build();

    CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, 50);
    mMap.animateCamera(cu);
Run Code Online (Sandbox Code Playgroud)

现在它更好但仍然缩放级别不好.是否可以对代码进行一些修复?(如果我可以修复一些填充)

我也改50到6,12,......但没有改变.

N D*_*tti 16

您正在使用正确的代码,如果您想要缩小(外部)或减少到0,如果您想要在包含两个标记的最小区域中,则需要增加值(50)(您可以跳过该值如果).

如果设置值为150或更高,并且级别太高,则可以使用动画回调在"latlng"缩放后缩小:

https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.html#animateCamera(com.google.android.gms.maps.CameraUpdate,com.google.android.gms. maps.GoogleMap.CancelableCallback)

LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(origin);
builder.include(dest);
LatLngBounds bounds = builder.build();

CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, 50);
mMap.animateCamera(cu, new GoogleMap.CancelableCallback(){
    void onCancel(){}
    void onFinish(){
        CameraUpdate zout = CameraUpdateFactory.zoomBy(-3.0);
        mMap.animateCamera(zout);
    }
});
Run Code Online (Sandbox Code Playgroud)

这应该缩放到latLng,完成后,缩放3级.