2011-12-13 3 views
1

MapKit을 사용하여지도에 줌 컨트롤을 표시하는 것처럼 iPhone에서지도를 표시 할 수 있습니까?MapKit iPhone 디스플레이 줌 컨트롤

그렇지 않은 경우, 확대/축소 및 축소에 사용해야하는 플래그 또는 메소드는 무엇입니까? 그래서 버튼을 눌러이 작업을 수행 할 수있는 방법을 만들 수 있습니다.

답변

7

기본 제공 컨트롤이 없습니다.

추천 검색어 몇 :

  1. 당신은 몇 가지 스팬을 미리 정의하고 어딘가에 배열에 저장 한 후 그뿐만 아니라 배열의 위치를 ​​저장할 수 있습니다. 확대/축소는 위치를 변경하고 범위를 가져옵니다. 확대
  2. 당신은지도보기의 영역의 폭을 변경 2.

의해 승산을 축소, (2)에 의해 전류 범위 및 분할 걸린다. 따라서 당신은해야합니다 :

  • mapView의 영역을 가져옵니다.
  • 영역의 범위를 가져옵니다.
  • 원하는 범위로 변경하십시오.
  • 범위 스팬을 새 스팬으로 설정합니다.
  • mapView의 영역을 새 영역으로 설정합니다.

여기 제안이에 대한 몇 가지 코드입니다 :

MKCoordinateRegion region = mapView.region; 
MKCoordinateSpan span; 
span.latitudeDelta = region.span.latitudeDelta*2; 
span.longitudeDelta = region.span.longitudeDelta*2; 
region.span = span; 
[mapView setRegion:region animated:TRUE]; 
+0

덕분에 region 속성을 수정해야합니다. 신속한 버전 :'var region = mapView.region; var span = MKCoordinateSpan(); span.latitudeDelta = region.span.latitudeDelta * 2; span.longitudeDelta = region.span.longitudeDelta * 2; region.span = span; mapView.setRegion (region, animated : true);' –

0

확대/축소 컨트롤을 표시 할 스위치가있는 경우 내 머리 꼭대기에서 (창 상자에서 작업 할 때) 기억이 안납니다. 기본적으로 확대/축소보기를 집어 넣거나 펼칠 수 있기 때문에 확대/축소 수준 표시에 대해 이야기하고 있다고 가정합니다.

컨트롤을 표시 할 스위치가없는 경우 사용자 지정보기 레이어를 만들어 맵킷보기 위에 놓아야합니다. 그런 다음 다른 기능을 호출하여 줌 레벨을 변경해야합니다.

이러한 기능은 모두 mapkit 문서에 설명되어 있습니다. 문서 센터에서 MapKit을 검색하면됩니다.

편집 : http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html#//apple_ref/doc/uid/TP40008205

는 문서에 따르면, 컨트롤을 표시 할 수있는 스위치가 아니라, 줌 사용 가능 속성은 온 오프 기능을 설정 할 수 있습니다.

delegate 함수 regionWillChange를 구독하고 mapView 객체를 사용하여 확대/축소 수준을 얻은 다음 적절하게 그래픽을 설정할 수 있습니다.

1

난 당신이 그렇게한다고 생각하지 않습니다 밖으로 확대하고 기대 방법은 핀치 제스처를 사용하고 있습니다. 그러나 계속 진행하기를 원한다면 MKMapView 위에 버튼을 놓은 다음 MKMapView