如何在放置位于地图片段底部的线性布局时停止地图缩放。任何人都可以帮助我。 。当双击或捏合位于地图片段下方的线性布局时,防止Google地图缩放
这是我的代码来捕获单和双击事件
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.d("on dispatchTouchEvent ", " dispatchTouchEvent ");
switch (ev.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_POINTER_DOWN:
fingers = fingers + 1;
break;
case MotionEvent.ACTION_POINTER_UP:
fingers = fingers - 1;
break;
case MotionEvent.ACTION_UP:
fingers = 0;
break;
case MotionEvent.ACTION_DOWN:
if (firstClick != 0 && System.currentTimeMillis() - firstClick > 300) {
Log.w("on count=0", " count=0 ");
count = 0;
}
count++;
if (count == 1) {
Log.w("on count ", " count=1 ");
firstClick = System.currentTimeMillis();
} else if (count == 2) {
Log.w("on count ", " count=2 ");
lastClick = System.currentTimeMillis();
if (lastClick - firstClick < 300) {
CameraUpdate getzoom = CameraUpdateFactory.zoomIn();
mMap.animateCamera(getzoom, 400, null);
Log.w("on double click ", " event ");
}
}
fingers=1;
break;
}
if (fingers >1) {
Log.d("2fingersaction ", "2fingersaction ");
mMap.getUiSettings().setScrollGesturesEnabled(false);
// mMap.getUiSettings().setRotateGesturesEnabled(true); // disableScrolling()
}
else if (fingers < 1)
{
Log.d("onefinger ", "onefinger ");
mMap.getUiSettings().setAllGesturesEnabled(false);
mMap.getUiSettings().setScrollGesturesEnabled(true);
// enableScrolling();
}
}
我把这个代码出方的OnMapReady()
方法..
布尔isWithinMapBounds(浮动XPOINT,浮动yPoint){ \t \t int [] l = new int [2]; \t \t View mapView = mapFragment.getView(); \t \t mapView.getLocationOnScreen(l); \t \t int x = 1 [0]; \t \t int y = 1 [1]; \t \t int w = mapView.getWidth(); \t \t int h = mapView.getHeight(); \t \t如果(XPOINT X + W || yPoint Y + 1H){ \t \t \t返回假; \t \t} \t \t return true; \t} –
这个地方在调度触摸事件方法public boolean值dispatchTouchEvent(MotionEvent EV){ \t \t如果(!isWithinMapBounds(ev.getRawX(),ev.getRawY())){ \t \t \t回报super.dispatchTouchEvent (EV); \t \t} –