MAPVIEW-单击“找到”按钮时停止滚动



在下图(来自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);
        }
    };

最新更新