當我旋轉地圖時,指南針出現。然而,我的一個按鈕與指南針重疊...我想知道是否有辦法檢測它,以便在指南針顯示時隱藏我的按鈕。提前致謝!關於指南針show listener存在嗎? (谷歌地圖Android API V2)
編輯: 我的問題早些時候誤導了對不起,我實際上希望按鈕在用戶實際旋轉/傾斜地圖時消失,並且一旦用戶的手離開屏幕,它就會重新出現。
@使用CameraPosition.bearing != 0 || CameraPosition.tilt != 0
的MaciejGórski的建議是一大步,我嘗試了以下實現,但後來我意識到,OnCameraChangeListener
並不立即啓用的用戶開始旋轉/傾斜地圖,所以不會按預期工作。
public OnCameraChangeListener getCameraChangeListener() {
return new OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition position) {
// when compass show hide option button
if (optionButton.getVisibility() == LinearLayout.VISIBLE
&& (position.bearing != 0 || position.tilt != 0)) {
optionButton.setVisibility(LinearLayout.GONE);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//wait 1 sec and show the button again
optionButton.setVisibility(LinearLayout.VISIBLE);
}
}, 1000);
}
}
};
}
謝謝,這是非常有幫助的,但我的問題有點複雜。請參閱更新.. – Arch1tect
@ Arch1tect如何嘗試使用輪詢?在onResume中發送消息給Handler,處理完成後發送延遲消息。在handleMessage內部使用map.getCameraPosition()。不要忘記在onPause中刪除消息以避免內存泄漏。 –
我不太關注這裏,爲什麼它與onResume有關......還有,onCameraChangeListerner的問題不夠響應? http://stackoverflow.com/questions/14235686/oncamerachangelistener-is-not-responsive-enough-is-there-another-way – Arch1tect