Адресная книга и карта Kit - PullRequest
       24

Адресная книга и карта Kit

3 голосов
/ 05 августа 2009

Я пишу приложение для iPhone iOS 3.0, где я хочу использовать Map Kit и Address Book вместе. У меня есть база данных мест (например, ресторанов) с названием, местоположением, телефоном, адресом и некоторыми другими данными. Я перечисляю их в виде таблицы, и когда я выбираю какое-то место, я хочу показать контакт адресной книги (с помощью ABUnknownPersonViewController), содержащий всю информацию, поэтому пользователю легко добавить этот контакт в адресную книгу.

Теперь, когда я нажимаю на адрес, приложение переключает меня на приложение «Карты». Как я могу поймать это событие, чтобы показать его в моем MKMapView (внутри моего приложения)?

Еще один связанный вопрос. Есть ли способ реализовать кнопки «Направление отсюда», «Направление сюда» в стандартном контроллере адресной книги, как в приложении «Карты»?

Ответы [ 2 ]

0 голосов
/ 06 января 2012

Перехватить действие по умолчанию в методе делегата ABUnknownPersonViewController, чтобы предотвратить переключение в приложение Maps:

// 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;
}
0 голосов
/ 05 августа 2009

Для соответствующего вопроса, направление отсюда и сюда, вы можете использовать URL http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f, где вы заменяете% f на широту и долготу начального адреса (saddr) и адреса назначения (daddr) вашего . пристрастия Вы можете получить «здесь» из широты и долготы пользователя. Эта ссылка откроется в приложении Карт по умолчанию, но покажет направления. НТН

...