在下图(来自Polaris)中,您可以在MapView
的顶部看到"定位" ImageButton
。
我得到了一个自定义的(一个ImageView
),并自行处理它的点击。
现在,当用户拖动地图,然后(在拖动期间)单击定位按钮时,它无能为力,直到地图停止移动为止。
我想完成的是阻止地图滚动。
这是我尝试的(thx to 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;
}
}
似乎我不是唯一的...
- Android MapView MapController stopAnimation不停止动画
- MapView(Swipe)动画停止后的动作
- Android MapView:Animateto在MAP Panning 时不起作用
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);
}
};