2010-08-11 5 views
2

MapView를 ScrollView 내에 배치했습니다.ScrollView 내부의 MapView가 줌 컨트롤을 표시하지 않습니다.

또한, 나는

mapView.setBuiltInZoomControls(true); 

있는 ScrollView 스크롤 올바르게지도보기로 줌 컨트롤을 추가,하지만 난지도보기를 클릭하면, 줌 조절이 표시되지 않습니다. (대부분의 시간 동안). 일반적으로 확대/축소 컨트롤은지도보기에 표시되어야합니다.

Android가 MapView 및 ScrollView에서 터치 (또는 클릭) 이벤트와 혼동하는 것 같습니다.

'focus'지도보기 및 확대/축소 컨트롤을 보여 드릴 수 있습니다.

ScrollView의 스크롤 기능을 비활성화하려고 시도했지만 작동하지 않습니다.

의견이 있으십니까?

덕분에 많은

답변

0

는 내가있는 ScrollView 내부지도보기를 넣습니다.

그럴 가능성은 낮습니다. 스크롤 가능한 위젯을 ScrollView 안에 넣지 마십시오. MapView 이미 스크롤하는 방법을 알고 있습니다.

+0

답장을 보내 주셔서 감사합니다. 내 문제에 대한 해결책을 찾지 못했습니다. 나는 MapView를 ScrollView 안에 두는 것이 낫다. –

4

10 일 동안 동일한 문제가 있었지만 몇 분 전에 해결 방법이 있습니다 !! 여기 해결책이 있습니다. 맞춤 MapView를 만들고 onTouchEvent()를 재정의했습니다.

@Override 
public boolean onTouchEvent(MotionEvent ev) { 
    int action = ev.getAction(); 
    switch (action) { 
    case MotionEvent.ACTION_DOWN: 
     // Disallow ScrollView to intercept touch events. 
     this.getParent().requestDisallowInterceptTouchEvent(true); 
     break; 

    case MotionEvent.ACTION_UP: 
     // Allow ScrollView to intercept touch events. 
     this.getParent().requestDisallowInterceptTouchEvent(false); 
     break; 
    } 

    // Handle MapView's touch events. 
    super.onTouchEvent(ev); 
    return true; 
} 
+0

전체 수업을 붙여 주실 수 있습니까? – brux

관련 문제