2011-11-03 17 views
5

एक आईफोन ऐप में आप नीचे दी गई छवि में दिखाए गए अनुसार MKMapView में दो बिंदुओं के बीच दूरी की गणना कैसे कर सकते हैं?मैकमैपव्यू में दो बिंदुओं के बीच की दूरी की गणना कैसे कर सकता हूं?

पहला बिंदु मानचित्रदृश्य में दृश्यमान मानचित्र का केंद्र बिंदु होगा।

दूसरा बिंदु नक्शादृश्य के दृश्य आयत के कोने में से कोई भी होगा (उदाहरण के लिए, मैंने शीर्ष बाएं बिंदु लिया है)।

enter image description here

मैं मीटर में इस दूरी की गणना करना चाहते हैं। मैं उसे कैसे प्राप्त कर सकता हूं?

मेरा लक्ष्य MKMapview में दृश्य मानचित्र आयत के अनुपात की गणना करना है।

उत्तर

29

आप अक्षांश के साथ केंद्र की/देशांतर प्राप्त कर सकते हैं:

convertPoint:toCoordinateFromView: 

loc1 और loc2 दोनों CLLocation objs हैं।

CLLocationDistance dist = [loc1 distanceFromLocation:loc2]; 

तो इन दो युक्तियों में आपकी मदद करनी चाहिए। अगर आप कुछ कोड की जरूरत है, मुझे पता है :-)

+0

जबाब यू बता सकते हैं के लिए धन्यवाद मुझे कोने पॉइंट (2 प्वाइंट) के लेट-लांग या समन्वय कैसे प्राप्त करें, मैं केंद्र बिंदु (1 बिंदु) – ios

+0

[यह उत्तर] का समन्वय प्राप्त कर सकता हूं (http://stackoverflow.com/questions/2081753/getting-the- बाउंड-ऑफ-ए-एमकेएमप्यूव/2082247 # 2082247) बताता है कि कोने पॉइंट के लेट/लॉन कैसे प्राप्त करें ts। – progrmr

+0

जब मैं Google के साथ चेक पार करता हूं। MapKit का उपयोग करके दूरी ढूंढें सही नहीं है। –

1

का तरीका यहां बताया वांछित दूरी की गणना कर सकते हैं:

// You first have to get the corner point and convert it to a coordinate 
MKMapRect mapRect = self.mapView.visibleMapRect; 
MKMapPoint cornerPointNW = MKMapPointMake(mapRect.origin.x, mapRect.origin.y); 
CLLocationCoordinate2D cornerCoordinate = MKCoordinateForMapPoint(cornerPointNW); 

// Then get the center coordinate of the mapView (just a shortcut for convenience) 
CLLocationCoordinate2D centerCoordinate = self.mapView.centerCoordinate 

// And then calculate the distance 
CLLocationDistance distance = [cornerCoordinate distanceFromLocation:centerCoordinate]; 
+7

केंद्र समन्वयक और कोने समन्वय की आवश्यकता है दूरी के लिए CLLocation दूरी से काम करने के लिए स्थानांतरण – Daniel

0

स्विफ्ट 3+

let distance: CLLocationDistance = location1.distance(from: location2) 
संबंधित मुद्दे