Например, я хочу отобразить текущие x, y, ширину и высоту прямоугольника карты, но я не знаю, какие события мне следует обрабатывать. По крайней мере, я хочу поймать двойной щелчок, масштабирование и перетаскивание.
iOS. Как получить информацию о текущем прямоугольнике карты после каждого действия с этой картой?
Ответы (1)
Ознакомьтесь с документацией по протоколу MKMapViewDelegate
. У вас есть следующие доступные методы: http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html
– mapView:regionWillChangeAnimated:
– mapView:regionDidChangeAnimated:
– mapViewWillStartLoadingMap:
– mapViewDidFinishLoadingMap:
– mapViewDidFailLoadingMap:withError:
– mapViewWillStartLocatingUser:
– mapViewDidStopLocatingUser:
– mapView:didUpdateUserLocation:
– mapView:didFailToLocateUserWithError:
– mapView:viewForAnnotation:
– mapView:didAddAnnotationViews:
– mapView:annotationView:calloutAccessoryControlTapped:
– mapView:annotationView:didChangeDragState:fromOldState:
– mapView:didSelectAnnotationView:
– mapView:didDeselectAnnotationView:
– mapView:viewForOverlay:
– mapView:didAddOverlayViews:
Кроме того, MKMapView
наследуется от UIScrollView
, поэтому, назначив себя делегатом, вы также можете принять протокол UIScrollViewDelegate
и использовать следующие методы: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html
person
Javier Soto
schedule
15.09.2011
Я не зачем ты это постишь сюда. Я знаю о документации и я спросил, нужно ли переопределять ВСЕ эти функции???
- person Gargo; 16.09.2011
Это не переопределение, вы реализуете методы делегата, о которых хотите получать уведомления :) В частности, вы, вероятно, захотите реализовать: – mapView:regionWillChangeAnimated: и – mapView:regionDidChangeAnimated:
- person Javier Soto; 16.09.2011
Это почти все, что мне нужно. Может быть, можно отследить событие перетаскивания текущей позиции до события касания?
- person Gargo; 16.09.2011