2012-11-05 5 views
-1

이지도와 연결된 오버레이 레이어에 그려진 경로가있는 Google지도를 보여주는 레이아웃을 개발하려고합니다. 이 mapView가 작은 정적지도로 표시되어 사용자가 따라 다니는 기본 경로를 미리보기 이미지로 표시 한 다음 사용자가 클릭하면 경로를 통해 전체 화면으로지도를 표시하는 다른 활동으로 이동합니다. 및 모든 줌 기능을 제공합니다.onTap 메서드를 인식하는 정적 Mapview를 만드는 방법

내가 오버레이 설정의 onTap 메소드를 새 액티비티에 대한 오버라이드를 오버라이드하지만 setEnabled (true)로 MapView를 설정 한 경우에만 작동하지만, 그렇게 할 경우 미리보기 맵 사용자가 드래그하여 이동할 수 있습니다.

충분히 명확하지 않은 경우 유감이지만 더 나은 설명이 필요합니다.

이 사전

에서

감사하다 오버레이를 확장하고 ONTAP 방법 오버라이드 (override) 내 사용자 정의 클래스 :

class MapOverlay extends Overlay { 

    @Override 
    public boolean onTap(GeoPoint p, MapView mapView) { 

     Intent i = new Intent(getApplicationContext(), 
       RouteMapActivity.class); 
     startActivity(i); 

     return false; 


    }; 

을 그리고 이것은 내에서 onCreate 방법 : 지금은 '에 대한

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.detailrun_activity); 

    map = (MapView) findViewById(R.id.mvMain); 
    map.setEnabled(true); 
    map.setClickable(true); 
    MapOverlay mapOverlay = new MapOverlay(); 

    List<Overlay> listOfOverlays = map.getOverlays(); 
    projection = map.getProjection(); 
    listOfOverlays.clear(); 
    listOfOverlays.add(mapOverlay); 

    double lat = 28.063119 * 1E6, longi = -82.41128 * 1E6; 
    GeoPoint point = new GeoPoint((int) lat, (int) longi); 

    MapController myMapController = map.getController(); 
    myMapController.setCenter(point); 
} 

두 GeoPoint 사이에서 직선 만 그리면 어떤 logcat 오류도 발생하지 않습니다.

경로가 포함 된 맵이 실제로 그려지고 오버라이드 된 onTap 메서드가 작동하지만 내 mapView가 enabled 및 clickable로 정의되어있는 경우 탭을 인식하는 것처럼 보이지만 그렇게하면 사용자도 이동할 수 있습니다. 화면을 누른 상태에서지도를 드래그하십시오.

+1

코드를 표시하십시오. 그리고 당신은 현재 코드와 함께 logcat에 오류가 발생했는지 보여줍니다. 내 견적은 onClick/onTab 메서드를 재정의하는 것입니다. 어쩌면 당신은 대신 onTouch 이벤트를 잡을 필요가 있습니다 :) –

+0

그 MapView를 차단하는 방법에 대한 다른 제안 ?? – GonzoBongo

+0

아직 코드가 표시되지 않았습니다. –

답변

1

당신은 this link에 의해 당신의 위치에 따라 정적 인 구글 맵 이미지를 얻을 수 있습니다. 당신이 ImageView에 표시 할 수 있고 그것을 클릭하면 MapView가있는 새로운 활동을 타겟팅 할 수 있습니다. 나는 그것이 당신에게 좋은 선택일지도 모른다고 생각합니다.

+0

mapView 기능에 대한 액세스 권한이 필요하기 때문에이 옵션이 적합하지 않은 것 같습니다.이 링크를 사용하면 표시하려는 Google지도 만 지정할 수있는 것 같습니다. . – GonzoBongo

관련 문제