Можно ли получить много длинных аннотаций? - PullRequest
2 голосов
/ 01 марта 2011

Я использую карты iPhone для своего приложения.У меня есть набор значений lat, long, title & subtitle в массиве и отображение их на карте с аннотациями.Когда я нажимаю на аннотации заголовок и субтитры отображаются.Есть ли способ получить лат, длинный аннотации, когда я нажимаю на аннотацию?

Ответы [ 3 ]

6 голосов
/ 01 марта 2011

Да. Реализуйте метод - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view протокола MKMapViewDelegate - ( ссылка ). Там вы можете получить доступ к lat & long, обратившись к annotation - свойству MkAnnotationView, которое соответствует MkAnnotation - протоколу ( ссылка ) и, следовательно, имеет свойство под названием coordinate.

Обновление: Следующий пример кода печатает широту / долготу аннотации после ее выбора на карте:

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
   NSLog(@"Latitude: %f", view.annotation.coordinate.latitude);
   NSLog(@"Longitude: %f", view.annotation.coordinate.longitude);
}
4 голосов
/ 01 марта 2011

Вы можете реализовать следующий метод

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {

MapAnnotation *annotation = (MapAnnotation *)view.annotation; //MapAnnotation your class     which conform to MKAnnotation

float lattude = annotation.coordinate.latitude;
float longtude = annotation.coordinate.longitude;



}

в классе, который соответствует MKMapViewDelegate

0 голосов
/ 07 апреля 2016

Swift 2: 0

Добавить MKMapViewDelegate.

    func mapView(mapView: MKMapView, didSelectAnnotationView view: MKAnnotationView){      

let currentAnnotationLattitude = view.annotation?.coordinate.latitude

let currentAnnotationLongitude = view.view.annotation?.coordinate.longitude
        }

Примечание. Работает для аннотаций с несколькими выводами на одной карте. Этот делегат предоставит аннотацию просмотра текущей широты и долготы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...