2009-08-05 3 views
3

지도 키트와 주소록을 함께 사용하려는 iPhone iOS 3.0 용 앱을 작성 중입니다. 이름, 위치, 전화 번호, 주소 및 기타 데이터가있는 장소 (예 : 레스토랑)의 데이터베이스가 있습니다. 필자는 테이블보기로 목록을 만들고 어떤 장소를 선택할 때 모든 정보가 포함 된 주소록 연락처 (ABUnknownPersonViewController의 도움으로)를 표시하려고하므로이 연락처를 주소록에 쉽게 추가 할 수 있습니다.주소록 및지도 키트

이제 주소를 클릭하면 앱이 나를지도 앱으로 전환합니다. 이 이벤트를 어떻게 잡아 내 MKMapView (내 앱에 있음)에 표시 할 수 있습니까?

하나 더 관련 질문. 지도 앱과 같이 표준 주소록 컨트롤러에서 '여기에서 방향', '방향을 여기로'버튼을 구현할 수 있습니까?

+0

당신이 질문에 대한 답을 찾으셨습니까? 나는 같은 디자인이 필요하다. – amok

답변

0

여기에서부터 여기까지의 방향에 대한 설명은 % f를 위도와 경도 인 시작 주소 (saddr)와 목적지 주소 (daddr)로 바꿀 수있는 URL http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f을 사용할 수 있습니다. 사용자 위치의 위도와 경도에서 '여기'를 가져올 수 있습니다. 이 링크는 기본지도 애플리케이션에서 열리지 만 길 찾기가 표시됩니다. HTH

+0

답장을 보내 주셔서 감사합니다.하지만 표준 주소록 컨트롤러 (예 : ABUnknownPersonViewController)의 버튼 (행)에 대해 묻습니다. 지도 앱에서와 같이 (액세서리보기를 클릭 한 후 주소가 표시되는 방식) – azia

0

가로 챌지도 앱으로 전환 방지하기 ABUnknownPersonViewController의 대리자 메서드의 기본 조치 :

// ABUnknownPersonViewControllerDelegate protocol conformance 
- (BOOL)unknownPersonViewController:(ABUnknownPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier 
{ 
    // Allow the default action to occur. 
    BOOL shouldPerformDefaultAction = YES; 

    // If address property was selected, do not switch to the Maps.app. 
    if (property == kABPersonAddressProperty) 
    { 
     [self.navigationController popViewControllerAnimated:YES]; 

     // Do not perform the default action  
     shouldPerformDefaultAction = NO; 

     // Show your MKMapView here 
     // .... 
    } 

    return shouldPerformDefaultAction; 
}