2010-06-16 5 views
0

지도에서 KML 파일에 의해 결정되는 경로를 보여주는 애플리케이션을 개발 중입니다. 특히, MapActivity에 그지도 시작 :Android지도 뒤로 버튼

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    MapView mapView = (MapView) findViewById(R.id.mapview); 
    mapView.setBuiltInZoomControls(true); 

    Uri uri = Uri.parse("geo:0,0?q=http://urltokml"); 
    Intent mapIntent = new Intent(Intent.ACTION_VIEW, uri); 
    mapIntent.setData(uri); 

    startActivity(Intent.createChooser(mapIntent, kmlFile)); 
    finish(); 
} 

지도로드 벌금을 몇 초 후에 KML에 의해 기술 된 경로가 표시됩니다. 문제는 '뒤로'버튼을 누르면 이전 화면으로 돌아 가지 않고 대신 KML 오버레이 만 숨기는 것입니다. "뒤로"버튼을 다시 누르면 이전 화면으로 돌아갑니다.

해결 방법에 대한 아이디어가 있으십니까?

답변

0

사용중인 API의 버전에 따라 ... 이후 버전에서는 다시 작동을 조정하기 위해 활동에서 재정의 할 수있는 "OnBackPressed"메소드가 있습니다.

0

당신이 당신의 활동을 시작하고 빈지도

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    MapView mapView = (MapView) findViewById(R.id.mapview); 
    mapView.setBuiltInZoomControls(true); 

를로드 한 후

Uri uri = Uri.parse("geo:0,0?q=http://urltokml"); 
    Intent mapIntent = new Intent(Intent.ACTION_VIEW, uri); 
    mapIntent.setData(uri); 

    startActivity(Intent.createChooser(mapIntent, kmlFile)); 
    finish(); 
} 

그래서 무슨 일이 일어나고 있는지 KML 파일과 함께 NEW지도를 시작하는 인 텐트를 만드는 때문입니다 다시 돌아 가면 두 번째 맵 (kml 파일 포함)을 떠나 첫 번째 맵 (빈 공간)으로 돌아갑니다.

+0

지금 문의하고 있습니다. Uri uri = Uri.parse ("geo : 0,0? q = http : // urlhere"); 인 텐트 mapIntent = 새로운 인 텐트 (Intent.ACTION_VIEW, uri); mapIntent.setData (uri); startActivity (Intent.createChooser (mapIntent, "Title"))); 다른 활동 (매핑되지 않은 것)이지만 뒤로 버튼은 동일한 효과가 있습니다. – amr317

+0

그 시점에서지도 프로그램에 내장되어있어 요청 처리 방법을 모르겠습니다. – CaseyB