如何在MapView中重新定位内置缩放控件?

时间:2010-10-27 16:17:21

标签: android android-mapview

我需要将MapView的内置缩放控件放置到与默认位置不同的位置。 虽然使用getZoomControls()方法很容易,但在最近的API版本中不推荐使用此方法。

有没有人知道怎么做没有调用getZoomControls()?

2 个答案:

答案 0 :(得分:10)

我有一个答案。我设法用左下角的代码重新定位它,而不是在中间

FrameLayout.LayoutParams zoomParams = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
ZoomControls controls = (ZoomControls) getZoomButtonsController().getZoomControls();
controls.setGravity(Gravity.LEFT);
controls.setLayoutParams(zoomParams);

答案 1 :(得分:0)

除非您正确地对呼叫进行排序,否则此功能无效。这对我有用。

    map.setBuiltInZoomControls(true);
    FrameLayout.LayoutParams zoomParams = new FrameLayout.LayoutParams(
            LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    ZoomControls controlls = (ZoomControls) map.getZoomButtonsController().getZoomControls();
    controlls.setGravity(Gravity.TOP);
    controlls.setLayoutParams(zoomParams);
    map.displayZoomControls(true);
    map.getController().setZoom(12);

为@ludwigm提供​​支持,这是唯一对我有用的答案。感谢。