我需要将MapView的内置缩放控件放置到与默认位置不同的位置。 虽然使用getZoomControls()方法很容易,但在最近的API版本中不推荐使用此方法。
有没有人知道怎么做没有调用getZoomControls()?
答案 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提供支持,这是唯一对我有用的答案。感谢。