2010-10-27 62 views
13

我需要將MapView的內置縮放控件放置到與默認位置不同的位置。 儘管使用getZoomControls()方法很容易,但在最近的API版本中不推薦使用此方法。如何在MapView中重新定位內置的縮放控件?

有沒有人有想法如何做到這一點沒有調用getZoomControls()?

+0

@Keyser nope你的鏈接答案沒有幫助。事實上'getZoomControls'被*棄用*,因此這個問題是非常有效的。 – taxeeta 2013-08-14 17:16:51

回答

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); 
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); 

Upvote for @ludwigm,唯一的答案,爲我工作。謝謝。

相關問題