소셜 미디어 IOS 앱 맵을 사용자 정의하기위한 주석을 만드는 방법 - 더미

IOS 앱 맵을 사용자 정의하기위한 주석을 만드는 방법 - 더미

비디오: 아이폰 사용자라면 이 기능은 적어도 알아야 하지 않을까? 아이폰의 최애기능! 단축어로 지정문자 보내기~ (feat. 안심문자(?) 보내는 법) 2024

비디오: 아이폰 사용자라면 이 기능은 적어도 알아야 하지 않을까? 아이폰의 최애기능! 단축어로 지정문자 보내기~ (feat. 안심문자(?) 보내는 법) 2024
Anonim

MKAnnotation 프로토콜을 준수하는 iOS 앱의 객체는 Annotation 객체입니다. 일반적으로 Annotation 객체는 애플리케이션 모델의 기존 클래스입니다. Annotation 오브젝트의 작업은, 콜 아웃에 표시되는 텍스트와 함께,지도상의 위치 (좌표)를 인식하는 것입니다.

MKAnnotation 프로토콜에는 좌표 속성을 구현하기 위해 해당 프로토콜을 채택하는 클래스가 필요합니다. 또한 선택적으로 title 및 subtitle 속성을 구현할 수 있습니다. 이 경우 해당 텍스트는 사용자가 주석을 탭하면 주석 설명 선에 표시됩니다.

@property (

nonatomic, readwrite ) CLLocationCoordinate2D 좌표 -> 주석은 프로토콜에 의해 다음 코드에서 속성을 굵게 표시해야합니다. @property (nonatomic, readwrite, copy ) NSString * title; @property (비 원자 론, 읽기 쓰기, 사본 ) NSString * 부제;

그게 전부입니다. 이미 속성을 가지고 초기화했습니다.

관심 분야가 주석이되기를 원합니다.

주석을 작성하려면 개체로 돌아 가야하지만, 먼저 다음 단계에 따라 모델 클래스 그룹에 Annotation 클래스를 추가해야합니다.

  1. 프로젝트 탐색기에서 모델을 선택하십시오 Classes 그룹을 선택한 다음, 오른쪽 클릭하여 나타나는 메뉴에서 New File을 선택하거나 주 메뉴에서 File → New → File을 선택하거나 (⌘ + N을 눌러) New File 대화 상자를 엽니 다.

  2. 대화 상자의 왼쪽 열에서 iOS 제목 아래에서 Cocoa Touch를 선택하고 오른쪽 상단 창에서 Objective-C 클래스 템플릿을 선택한 후 다음을 클릭하십시오.

    파일 옵션을 선택할 수있는 대화 상자가 나타납니다.

  3. 클래스 필드에 주석을 입력하십시오.

  4. 하위 클래스 필드에 NSObject를 선택하거나 입력 한 후 다음을 클릭하십시오.

    iPad 용 대상 및 사용자 인터페이스 용 XIB 사용 확인란은 여기에 관련이 없기 때문에 흐리게 표시됩니다. 이벤트는 NSObject에서 파생되며 모든보기 컨트롤러 유형에서 파생되지 않습니다.

  5. 나타나는 저장 시트에서 작성을 클릭하십시오.

다음으로 주석에 필요한 코드를 추가해야합니다.

Annotation에 굵게 표시된 코드를 추가합니다. h.

#import #import @interface 주석: NSObject @property (nonatomic, readwrite) CLLocationCoordinate2D 좌표; @property (nonatomic, readwrite, copy) NSString * title; @property (nonatomic, readwrite, copy) NSString * 부제; -d

일반적인 Annotation 클래스를 사용하여 관심 장소를 표시합니다.앱을 빌드 할 때 관심 장소 및 기타 정보에 대한 추가 정보를 포함하고 PointofInterest 클래스를 만들 수 있습니다.

그러면 서브 클래스 Annotation으로 만들 수 있습니다. 주석에는 표준 콜 아웃 버블의 오른쪽과 왼쪽에 각각 표시되는 오른쪽 및 왼쪽 콜 아웃 액세서리보기가있을 수 있습니다.

설명 선보기는 일반적으로 주석에 대한 자세한 정보로 연결하는 데 사용됩니다. 또한 EventController와 같은 항목에 연결하여 PointofInterest에 대한 정보를 표시 할 수 있습니다. 생각을위한 음식.

#import "여행.h"#import "목적지.h"#import "이벤트.h" #import "주석.h" @interface Trip () @property (강한, 비 원자력) NSDictionary * destinationData; @property (strong, nonatomic) 대상 * 대상; @property (strong, nonatomic) 이벤트 * 이벤트; @property (강하고 비 구조) NSMutableArray * pois; -d

이제 Listing 17-11의 굵게 표시된 코드를 Trip의 initWith DestinationIndex:에 추가 할 수 있습니다. 엠. 이것은 plist (관심 장소)의 관심 지점 데이터를 주석 (좋아, 단지 하나)으로 변환하고 목적지를 주석으로 추가하여 부팅합니다.

- (id) initWithDestinationIndex: (int) destinationIndex {self = [super init]; if (self)) {NSString * filePath = [[NSBundle mainBundle] pathForResource: @ "대상"ofType: @ "plist"]; NSDictionary * 대상 = [NSDictionary dictionaryWithContentsOfFile: filePath]; NSArray * destinationsArray = [대상 객체의 키: @ "대상 데이터"]; _destinationData = [destinationsArray objectAtIndex: destinationIndex]; _destination = [[대상 할당] initWithDestinationIndex: 대상 인덱스]; events = [[Events alloc] initWithDestinationIndex: destinationIndex]; NSArray * poiData = self. destinationData [@ "POIs"]; _pois = [[NSMutableArray alloc] initWithCapacity: [poiData count] +1];

addObject: self. 목적지]; for (poiData의 NSDictionary * aPOI) { Annotation * annotation = [[Annotation alloc] init]; CLLocationCoordinate2D 좌표; 좌표. 위도 = [aPOI [@ "Latitude"] doubleValue]; 좌표. 경도 = [aPOI [@ "Longitude"] doubleValue]; 주석. 좌표 = 좌표; 주석. title = aPOI [@ "Title"]; 주석. 자막 = aPOI [@ "자막"]; [자기. pois addObject: 주석]; } } return self;} poiData 배열의 각 관심 지점에 대한 주석을 작성하고 작성한 배열에 추가합니다. 지도에 표시하려는 주석

면밀히 살펴보면 Destination이 Pois 배열에도 추가되고 있음을 알 수 있습니다. 그렇게하면지도에지도가 표시됩니다.

Trip이 주석 (및지도 제목)을 반환 할 수 있도록 인터페이스에 몇 가지 새로운 메소드를 추가해야합니다. 또한 Tripinterface를 업데이트해야합니다. 그렇게하려면 굵게 표시된 코드를 Trip에 추가하십시오. h.

@interface Trip: NSObject - (UIImage *) destinationImage; - (NSString *) destinationName; - (CLLocationCoordinate2D) destinationCoordinate; - (id) initWithDestinationIndex: (int) destinationIndex; - (NSString *) 날씨; - (NSUInteger) numberOfEvents; - (NSString *) getEvent: (NSUInteger) 인덱스;

- (NSArray *) createAnnotations; - (NSString *) mapTitle; -d 이제 MapController에서 사용할 모든 Trip 메소드를 추가합니다.먼저 createAnnotations 메소드를 Trip에 추가합니다. 엠.

- (NSArray *) createAnnotations {자신을 반환합니다. pois;}

pois는 가변 배열이지만, 필요한 모든 것이 있기 때문에 기본 배열로 반환합니다. MapController는 주석을 추가하지 않습니다.

지도 제목을 반환하는 메소드도 추가해야합니다. Trip에 maptitle 메소드를 추가하십시오. 엠.

- (NSString *) mapTitle {return self. 목적지. destinationName;}

IOS 앱 맵을 사용자 정의하기위한 주석을 만드는 방법 - 더미

편집자의 선택

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

판매를위한 크로스 플랫폼 참여는 Best Buy입니다. Best Buy는 모바일 쇼핑 및 소셜 쇼핑을 매장의 각 품목에 대한 QR 코드를 사용하여 매장 내 경험으로 가져 왔습니다. 고객은 상점의 각 항목에 대한 QR 코드를 스캔하여 리뷰를 포함한 더 많은 정보를 얻을 수 있습니다.

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그 또는 사이트에서 Google 웹 로그 분석 추적 통계를 사용하여 빠르고 쉽게 설치할 수 있습니다. 설치는 1 분 밖에 걸리지 않으며 완전히 고통스럽지 않습니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스와 대시 보드에서 로그인하십시오.

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

단 1 분이며 고통스럽지 않습니다. 곧 Google 애널리틱스 덕분에 잠자는 동안 소셜 미디어 측정 항목을 추적하게 될 것입니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스 및 대시 보드에 로그인하고 톱니 바퀴 아이콘을 클릭하기 만하면됩니다. ...

편집자의 선택

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

다 변수 테스트뿐만 아니라 요인 일정을 유지하고 다양한 시나리오에서 다른 결과를 테스트하여 마케팅 자동화 테스트를 수행하는 것을 의미합니다. 하나의 유료 검색 광고를 통해 사람들을 2 개의 개별 방문 페이지로 유도하는 것이 그 예입니다. 방문 페이지 테스트하기 ...

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

마케팅 자동화 도구의 사용을 극대화하기 위해 먼저 사람과 콘텐츠와의 관계를 이해해야합니다. 올바른 사람에게 올바른 콘텐츠를 보내는 경우에만 자동화가 유용합니다. 이를 올바르게 수행하는 방법에 대한 기본적인 이해를 돕기 위해 사람들은 두 가지 유형이 관련되어 있음을 인식해야합니다 ...

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

고객 관계를 관리하는 데 도움이되는 Microsoft 도구 현대 직장에서 가장 유용한 도구 중 하나는 전자 메일이므로 전자 메일을 만들고 읽거나, 전자 메일을 특정 레코드에 연결하거나, 일정을 관리하는 데 숙련되어 있어야합니다. ...

편집자의 선택

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

당신은 자신의 웹 사이트 또는 블로그를 가지고 있고, 고객, 독자 또는 웹 호스팅 기술에 의존하는 추종자 만 있습니다. 다음 팁은 웹 호스팅 계획을 최대한 활용하는 데 도움이됩니다. 제어판에서 백업 옵션을 확인하십시오. 일부 제어판을 사용하면 자동화 된 백업을 수행 할 수 있습니다. ...

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

은 웹 호스트만큼 멋지고, 웹 사이트를 디자인, 제작 및 운영하는 데 도움이되는 일에는 한계가 있습니다. 그것은 모두 돈으로옵니다. 귀하가 기꺼이 지불하는 한 귀하의 호스트는 기꺼이 도움이 될 것입니다. 각 호스트는 다릅니다. ...