【发布时间】:2016-02-13 07:14:34
【问题描述】:
我的应用程序中有一个地图视图,我想检测用户何时移动地图并隐藏我拥有的图像视图,然后检测用户何时停止移动地图以再次显示图像视图。
【问题讨论】:
标签: android maps listener android-mapview
我的应用程序中有一个地图视图,我想检测用户何时移动地图并隐藏我拥有的图像视图,然后检测用户何时停止移动地图以再次显示图像视图。
【问题讨论】:
标签: android maps listener android-mapview
您可以使用 OnCameraMoveStartedListener 或 OnCameraIdleListener
mMap.setOnCameraMoveStartedListener(new GoogleMap.OnCameraMoveStartedListener() {
@Override
public void onCameraMoveStarted(int reason) {
// code
// REASON_API_ANIMATION
// REASON_DEVELOPER_ANIMATION
// REASON_GESTURE
}
});
mMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
@Override
public void onCameraIdle() {
// code
}
});
看到这个link
【讨论】:
试试这个:-
mapView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
imageView.setVisibility(View.VISIBLE);
}else{
imageView.setVisibility(View.GONE);
}
return false;
}
});
【讨论】:
使用 GoogleMap.OnCameraChangeListener ,但在您移动地图时不会立即调用它。或者像这个线程 intercept touch events 中的一样,来自一个透明的框架布局,你必须把它放在地图上。
【讨论】: