2009-12-02 14 views
9

में बाएं-शीर्ष और दाएं-नीचे अक्षांश और मानचित्र का देशांतर कैसे प्राप्त करें मैपकिट में बाएं-शीर्ष और दाएं-नीचे अक्षांश और मानचित्र का देशांतर कैसे प्राप्त करें? मैं इस कोड का उपयोग करता हूं, लेकिन यह ठीक से काम नहीं करता है। मुझे इसे कैसे ठीक करना चाहिए?मैपकिट

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]; 

उत्तर

24

वहाँ उन निर्देशांक हो रही करने के लिए एक बहुत आसान तरीका है ... आपके विचार के अंक का उपयोग करें, और परिवर्तित: मैं Swift2.0 उपयोग कर रहा हूँ

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

धन्यवाद, यह काम करता है! :) –

2

, मैं MKMapView के लिए extension बनाया

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) 
    } 
} 
संबंधित मुद्दे