Android MapView-单击“定位”按钮时停止滚动
在下图(中),您可以看到Android MapView-单击“定位”按钮时停止滚动,android,android-mapview,Android,Android Mapview,在下图(中),您可以看到地图视图的右上角有一个“定位”ImageButton 我有一个自定义的(一个ImageView)并自己处理它的点击 现在,当用户拖动地图,然后(在拖动过程中)单击“定位”按钮时,它不会执行任何操作,直到地图停止移动 我想完成的是阻止地图滚动。 以下是我尝试过的(thx到blazzerbg):mMap.getController().stopAnimation(false) 但是不行 我知道我有这些功能,也许它们相互干扰 @Override public boolean o
地图视图的右上角有一个“定位”ImageButton
我有一个自定义的(一个ImageView
)并自己处理它的点击
现在,当用户拖动地图,然后(在拖动过程中)单击“定位”按钮时,它不会执行任何操作,直到地图停止移动
我想完成的是阻止地图滚动。
以下是我尝试过的(thx到blazzerbg):mMap.getController().stopAnimation(false)代码>
但是不行
我知道我有这些功能,也许它们相互干扰
@Override
public boolean onTouch(View view, MotionEvent event) {
// Disables multi-touch (zoom in/out)
if (event.getPointerCount() > 1) {
return true;
}
// Get the map if a drag is done
if (event.getAction() == MotionEvent.ACTION_UP) {
// ...
}
// Disables double-tap
return mGestureDetector.onTouchEvent(event);
}
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDoubleTap(MotionEvent event) {
return true;
}
}
似乎我不是唯一一个
MapController中有一个方法
public void stopAnimation(boolean jumpToFinish)
您可以在任何情况下禁用用户跟踪按钮:
有这样一种方法:
/**
* Enable/disable user tracking on this {@link PolarisMapView}.
*
* @param enabled True if user tracking is enabled, false otherwise.
*/
public void setUserTrackingButtonEnabled(boolean enabled) {
此方法附加一个侦听器,用于根据用户位置将视图居中:
private final OnClickListener mOnUserTrackingButtonClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
MapViewUtils.smoothCenterOnUserLocation(PolarisMapView.this, mMyLocationOverlay, R.string.polaris__unable_to_locate_you);
}
};
那不是我想要的。我有自己的方法,效果很好。我有一个按钮,它工作得很好。我想要的是stopAnimation()
方法工作。