2011-08-27 50 views
0

如何獲取放置在我的mapView上的annotationView的經度和緯度?我需要得到它時,右側的附件被挖掘。從註解視圖獲取經度和緯度

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control方法確實會返回具有要使用的coordinate屬性的MKAnnotationView。但我想要拉特和長。如何將座標轉換爲lat和long?

謝謝。

回答

8

coordinateCLLocationCoordinate2D,它是一個包含latitudelongitude的結構。

coordinate實際上是MKAnnotation的財產。 MKAnnotationView有一個名爲annotationMKAnnotation屬性。

因此,在您提到的方法中,您應該能夠使用[[view annotation] coordinate].latitude和經度使用[[view annotation] coordinate]. longitude來獲取緯度。

+1

這是因爲CLLocationCoordinate2D正如benwong所說的那樣是一個結構,所以它沒有方法或getter的概念。訪問結構成員的C點語法是唯一正確的方法,儘管這是一個完全可以理解的疏忽,因爲蘋果在這裏使用結構有點奇怪。 – Tommy

0

添加MKMapViewDelegate。

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

let currentAnnotationLattitude = view.annotation?.coordinate.latitude 

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