2009-12-02 26 views
9

MapKit'te sol üst ve sağ alt enlem ve boylam haritası nasıl elde edilir? Bu kodu kullanıyorum, ancak düzgün çalışmıyor. Nasıl düzeltmeliyim? Bu koordinatları almak için çok daha kolay bir yaklaşım bakış açılarını kullanın ve dönüştürmek ... OradaMapKit'te sol üst ve sağ alt enlem ve boylam haritası nasıl alınır

MKCoordinateRegion region = [map region]; 

double topL,topG,bottomL,bottomG; 
//if latitude=55 and latitudeDelta=126 topL is 118 and it will be not at top, it will be at buttom of screen 
topL = region.center.latitude + region.span.latitudeDelta/2; 

topG = region.center.longitude - region.span.longitudeDelta/2; 

CLLocationCoordinate2D lt; 
lt.latitude=topL; 
lt.longitude=topG; 
annotation = [Annotation new]; 
annotation.coordinate = lt; 
annotation.title = @"Left"; 
[map addAnnotation:annotation]; 
[annotation release]; 
//if latitude=55 and latitudeDelta=126 bottomL is -7.23 and it will be not at bottom, it will be at above bottom of screen 
bottomL = region.center.latitude - region.span.latitudeDelta/2; 


bottomG = region.center.longitude + region.span.longitudeDelta/2; 

CLLocationCoordinate2D rb; 
rb.latitude=bottomL; 
rb.longitude=bottomG; 
annotation = [Annotation new]; 
annotation.coordinate = rb; 
annotation.title = @"Right"; 
[map addAnnotation:annotation]; 
[annotation release]; 

cevap

24

:

CLLocationCoordinate2D topLeft, bottomRight; 
topLeft = [mapView convertPoint:CGPointMake(0, 0) toCoordinateFromView:mapView]; 
CGPoint pointBottomRight = CGPointMake(mapView.frame.size.width, mapView.frame.size.height); 
bottomRight = [mapView convertPoint:pointBottomRight toCoordinateFromView:mapView]; 
+0

Teşekkürler, işe yarar! :) –

2

Ben Swift2.0 kullanıyorum, ben MKMapView için extension yarattı

extension MKMapView { 
    func topLeftCoordinate() -> CLLocationCoordinate2D { 
     return convertPoint(CGPoint.zero, toCoordinateFromView: self) 
    } 

    func bottomRightCoordinate() -> CLLocationCoordinate2D { 
     return convertPoint(CGPoint(x: frame.width, y: frame.height), toCoordinateFromView: self) 
    } 
} 
İlgili konular