MKMapKit PushPin на кране - PullRequest
       21

MKMapKit PushPin на кране

0 голосов
/ 08 июня 2011

Мне нужно разместить метку, где пользователь нажимает на MKMapView. Любые идеи / подсказки / ссылки для этой цели просим поделиться. Спасибо.

1 Ответ

0 голосов
/ 08 июня 2011

Вы можете использовать UITapRecognizer.В обработчике жестов вы можете получить доступ к координате, по которой пользователь нажал,

CGPoint touchLocation = [gesture locationInView:mapView];
CLLocationCoordinate2D coordinate = [mapView convertPoint:touchLocation toCoordinateFromView:mapView];

. Вы можете использовать эту координату для создания аннотации.Для этого вам нужно определить класс, соответствующий протоколу MKAnnotation.Создайте и добавьте его экземпляр в mapView.

В методе делегата mapView:viewForAnnotation: создайте и верните экземпляр MKPinAnnotationView для аннотации.

Хотя есть предостережение.Добавление аннотации в обработчике жестов может быть не самым лучшим ходом, поскольку обработчик жестов не знает о выборе представления аннотации.Чтобы справиться с этим, вы можете использовать performSelector:withObject:afterDelay:, чтобы запланировать добавление.Если вызван метод делегата mapView:didSelectAnnotationView:, отмените запрос на выполнение.

...