맵킷으로 실행

기본지도보기는 상자 밖으로 좋은 작품-당신은 등등,주위 팬 확대 및 축소 할 수 있습니다. 그냥 클릭하고 한 손가락을 이동하는 것처럼 드래그하고,다른”손가락”반대 방향으로 이동합니다–당신이 궁금해하는 경우,당신은 가상”핀치”제스처를 트리거하는 옵션을 누른 상태로해야합니다.

보조 편집기를 사용하여mapView라는 맵 뷰의 콘센트를 만드십시오. 또한 맵 뷰에서 레이아웃 영역 바로 위의 주황색 및 흰색 뷰 컨트롤러 버튼으로 드래그하여 맵 뷰의 대리자로 뷰 컨트롤러를 설정해야 합니다. 또한 뷰 컨트롤러에import MapKit를 추가해야 합니다.그래서MKMapView이 무엇인지 이해합니다.

참고:맵의 대리자를 설정하지 않으면 이 프로젝트의 나머지 부분도 제대로 작동하지 않습니다.

이 작업을 완료하면 맵에 몇 가지 주석을 추가 할 것입니다. 주석은 제목,부제 및 위치를 포함하는 개체입니다. 처음 두 개는 두 문자열이고,세 번째는CLLocationCoordinate2D이라는 새로운 데이터 유형입니다.이 데이터 유형은 주석을 배치 할 위치에 대한 위도와 경도를 유지하는 구조입니다.

맵 주석은 클래스가 아니라 프로토콜로 설명됩니다. 이것은 지금까지 프로토콜이 모두 방법에 관한 것이기 때문에 전에 보지 못했던 것입니다. 그러나 우리가 맵 주석을 만들기 위해 채택해야 할 프로토콜 인MKAnnotation프로토콜을 준수하려면 주석에 좌표가 있어야한다고 명시합니다. 지도에 주석이 있는 것은 의미가 없습니다.만약 지도가 어디에 있는지 모른다면 말이죠. 제목과 부제는 선택 사항이지만 어쨌든 제공 할 것입니다.새 파일을 만들고 소스>코코아 터치 클래스를 선택합니다. 그것을NSObject의 하위 클래스로 만들고 이름을”자본”으로 지정하십시오. 지도 주석을 사용하면 구조체를 사용할 수 없으며NSObject에서 상속해야합니다.

자본의 내용을 변경합니다.이 스위프트:

주어진 데이터에 복사하는 기본 이니셜 라이저와 함께 세 가지 속성이 있습니다. 여기서self.을 사용해야 합니다. MKAnnotationCLLocationCoordinate2D이 정의 된 곳이기 때문에import MapKit를 파일에 추가했습니다.

이 사용자 정의 서브 클래스로,우리는 자신의 이름을 전달하여 자본 도시를 만들 수 있습니다,좌표 및 정보–내가 사용하는 것입니다info하나의 귀중한 보유 속성(읽기:오프-더-팔목,나는 지리에 빨려)각 도시에 대한 정보 덩어리. 당신은 더 잘 할 환영합니다!

이 줄을 뷰 컨트롤러의viewDidLoad()방법에 넣습니다.스위프트:

Capital객체는MKAnnotation프로토콜을 따르므로addAnnotation()방법을 사용하여 표시 할 맵 뷰로 보낼 수 있습니다. 그냥이 끝나기 전에 넣어viewDidLoad():

또는addAnnotations()방법을 사용하여 한 번에 여러 주석을 추가할 수 있습니다. 이것을 사용하여,당신은 이 5 개의 선을 이것으로 대체할 것입니다:

mapView.addAnnotations()

즉,주석 밖으로 배열을 생성하고 맵 뷰에 한 덩어리에 보냅니다.

지금 프로그램을 실행하면 각 도시의 지도에 핀이 표시되고 그 중 하나를 탭하여 도시 이름을 볼 수 있습니다. 그러나info속성은 어디에 있습니까? 자세한 정보를 표시하려면 주석을 표시하는 데 사용되는 보기를 사용자 지정해야 합니다.

스폰서 당신은 당신의 스위프트 응용 프로그램을 디버깅 시간을 낭비 하느라 피곤 한가? 모든 버그 리포트와 함께 전체 장치 세부 정보,네트워크 로그 및 재생 단계를 제공하여 디버깅 시간을 최소화하는 데 도움이 됩니다. 모든 데이터가 자동으로 첨부됩니다. 그것은 단지 설치에 코드 라인을합니다. 지금 무료 평가판을 시작하고 품질 앱을 출시하십시오!

무료로 사용해보십시오

스위프트와 해킹을 후원하고 세계 최대의 스위프트 커뮤니티에 도달!