在Google地图中,如何固定两个标记之间的缩放级别?

3

目前我正在使用 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);

现在情况有所改善,但放大程度仍然不够好。是否有可能在代码上进行一些修复?(如果我可以添加一些填充到视图中)

我也将50更改为6,12,...,但什么也没有改变。


在CameraUpdate实例中更新缩放级别并更新地图。 - Rustam
2个回答

17

您正在使用正确的代码,并且如果您想缩小视图(变得更外),则需要增加值(50),或者如果要包含两个标记的最小区域,则将其减少到0(可以跳过该值)。

如果设置了150或更高的值,并且级别太高,您可以在 LatLng缩放后使用动画回调来缩小视图:

Google API 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);
    }
});

这应该将焦点放在LatLng上,完成后缩小3个级别。


50 padding是什么?它是以像素为偏移量还是其他单位? - user924
如何正确设置填充以始终在地图上看到两个标记?因为根据点之间的距离,它可能是不同的值,据我所知。 - user924

3

试一下这个:

 CameraPosition cameraPosition =
                                    new CameraPosition.Builder()
                                            .target(yourlatlng)
                                           // .bearing(targetBearing)// you can ignore it
                                            .zoom(12)// your zoom value
                                                    // .tilt(40)  // angle of view
                                            .build();


                            mMap.animateCamera(
                                    CameraUpdateFactory.newCameraPosition(cameraPosition),
                                    500,
                                    null);

1
我该如何确定我的缩放级别是否合适?例如,在我的响应中,有时我们的路径是在两个城市之间,有时是在两个国家之间,当我设置缩放(12)时,它是否返回良好的相机位置? - Amir
1
您可以检查当前位置和目的地之间的距离,并根据此设置缩放级别。 - Rustam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接