首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapView -单击“定位”按钮时停止滚动。

MapView -单击“定位”按钮时停止滚动。
EN

Stack Overflow用户
提问于 2012-10-31 15:05:57
回答 2查看 212关注 0票数 1

在下面的图片(来自北极星)中,您可以在MapView的右上角看到一个“定位”ImageButton

我有一个定制的(一个ImageView),并处理自己的点击。

现在,当用户拖动地图,然后(在拖动期间)单击“定位”按钮,在地图停止移动之前,它什么也不做。

我想要完成的是阻止地图滚动.

下面是我尝试过的东西:mMap.getController().stopAnimation(false);,但不去。

我知道我有这些功能,也许它们会互相干扰?

代码语言:javascript
复制
@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;
    }
}

看来我不是唯一一个..。

EN

回答 2

Stack Overflow用户

发布于 2012-10-31 15:09:10

在MapController中有一些方法

代码语言:javascript
复制
public void stopAnimation(boolean jumpToFinish)

文档

票数 0
EN

Stack Overflow用户

发布于 2012-10-31 15:38:47

您可以在任何情况下禁用用户跟踪按钮:有这样的方法:

代码语言:javascript
复制
 /**
     * Enable/disable user tracking on this {@link PolarisMapView}.
     * 
     * @param enabled True if user tracking is enabled, false otherwise.
     */
    public void setUserTrackingButtonEnabled(boolean enabled) {

此方法附加一个侦听器,用于根据用户位置对视图进行中心设置:

代码语言:javascript
复制
private final OnClickListener mOnUserTrackingButtonClickListener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            MapViewUtils.smoothCenterOnUserLocation(PolarisMapView.this, mMyLocationOverlay, R.string.polaris__unable_to_locate_you);
        }
    };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13160970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档