有没有办法禁用平移/缩放并保持地图叠加层可点击?
我正在特别考虑一个 ItemizedOverlay,我希望它可以被点击,同时拒绝用户在地图的视口中移动(这是为了游戏)。
我已经看到回答了同样的问题,但遗憾的是,答案不允许点击覆盖项目。
非常感谢,最好的问候,亚历克斯
有没有办法禁用平移/缩放并保持地图叠加层可点击?
我正在特别考虑一个 ItemizedOverlay,我希望它可以被点击,同时拒绝用户在地图的视口中移动(这是为了游戏)。
我已经看到回答了同样的问题,但遗憾的是,答案不允许点击覆盖项目。
非常感谢,最好的问候,亚历克斯
我知道这个问题有点老了,但我遇到了同样的问题并找到了解决方法,这不是一个优雅的解决方案,但似乎有效。
首先,您必须创建自己的地图子类来覆盖 onTouchEvent 处理程序
public class NonPannableMapView extends MapView {
public NonPannableMapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public NonPannableMapView(Context context, AttributeSet attrs){
super(context, attrs);
}
public NonPannableMapView(Context context, String apiKey) {
super(context, apiKey);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
//Handle a move so there is no panning or zoom
if(ev.getAction() == MotionEvent.ACTION_MOVE)
return true;
return super.onTouchEvent(ev);
}
}
那么这只是将布局中的 MapView 引用更改为 NonPannableMapView 的情况。
尝试这个:
mapView.setBuiltInZoomControls(false);
希望有效!玩得开心!