Android 谷歌地图API手势不工作(缩放旋转…)
编辑:我发现了我的问题,请参见下面的答案 原创帖子:Android 谷歌地图API手势不工作(缩放旋转…),android,google-maps,pinchzoom,Android,Google Maps,Pinchzoom,编辑:我发现了我的问题,请参见下面的答案 原创帖子: 我正在创建一个包含地图的活动,但无法添加缩放和其他手势功能。我可以双击放大,我可以添加+/-符号通过放大 googleMap.getUiSettings().setAllGesturesEnabled(true); 这是我的代码: 活动的xml(tracking_order.xml) 谢谢你评论这句话 googleMap.getUiSettings().setZoomGesturesEnabled(true); //not working
我正在创建一个包含地图的活动,但无法添加缩放和其他手势功能。我可以双击放大,我可以添加+/-符号通过放大
googleMap.getUiSettings().setAllGesturesEnabled(true);
这是我的代码:
活动的xml(tracking_order.xml)
谢谢你评论这句话
googleMap.getUiSettings().setZoomGesturesEnabled(true); //not working
googleMap.getUiSettings().setAllGesturesEnabled(true);
现在你试试看,它会起作用的。如果您需要任何特定的或很少的手势方式,请通过单独启用,否则,如果您需要全部,请拨打此电话
googleMap.getUiSettings().setZoomGesturesEnabled(true); //not working
googleMap.getUiSettings().setAllGesturesEnabled(true);
评论这行
googleMap.getUiSettings().setZoomGesturesEnabled(true); //not working
googleMap.getUiSettings().setAllGesturesEnabled(true);
现在你试试看,它会起作用的。如果您需要任何特定的或很少的手势方式,请通过单独启用,否则,如果您需要全部,请拨打此电话
googleMap.getUiSettings().setZoomGesturesEnabled(true); //not working
googleMap.getUiSettings().setAllGesturesEnabled(true);
我终于发现了问题:
包含
mapFragment
的活动正在扩展自定义类。该类已重写以下方法:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_UP) {
return super.dispatchTouchEvent(ev);
}
if (ev.getPointerCount() > 1) //here was the problem
return true;
return super.dispatchTouchEvent(ev);
}
因此,我创建了一个方法并将其更改为:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_UP) {
return super.dispatchTouchEvent(ev);
}
if (ev.getPointerCount() > 1 && !enableMultiTouch())
return true;
return super.dispatchTouchEvent(ev);
}
protected boolean enableMultiTouch(){
return false; //and override it to true in my activity
}
希望对某人有所帮助:)我终于找到了问题:
包含
mapFragment
的活动正在扩展自定义类。该类已重写以下方法:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_UP) {
return super.dispatchTouchEvent(ev);
}
if (ev.getPointerCount() > 1) //here was the problem
return true;
return super.dispatchTouchEvent(ev);
}
因此,我创建了一个方法并将其更改为:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_UP) {
return super.dispatchTouchEvent(ev);
}
if (ev.getPointerCount() > 1 && !enableMultiTouch())
return true;
return super.dispatchTouchEvent(ev);
}
protected boolean enableMultiTouch(){
return false; //and override it to true in my activity
}
希望它能帮助某人:)在我的例子中,它有助于设置
map.getUiSettings().setAllGesturesEnabled(true)代码>和覆盖生命周期方法,如中所述:
在我的例子中,它帮助设置map.getUiSettings().setAllGesturesEnabled(true)代码>和覆盖生命周期方法,如中所述:
起初,我试着不使用这三行中的任何一行。然后我尝试了setZoomControlsEnabled
,但这不是我所需要的,然后我分别尝试了其他两个,但都不起作用。然后我把它们都放在这里,问了这个问题。首先,我试着不使用这三行中的任何一行。然后我尝试了setZoomControlsEnabled
,但这不是我所需要的,然后我分别尝试了其他两个,但都不起作用。然后我把它们都放在这里问了这个问题