यह iPhone SDK में MapKit का उपयोग करने के दो पते के बीच ड्राइविंग दूरी की गणना करना संभव है?
दो पते के बीच ड्राइविंग दूरी की गणना करने के MapKit का प्रयोग करें?
IOS7 के साथ आप एपीआई के भीतर पूर्ण दिशा-निर्देश प्राप्त
इस ट्यूटोरियल पर एक नज़र डालें ट्यूटोरियल ।
कैसे कोर स्थान ढांचे का उपयोग कर के बारे में:
- (CLLocationDistance) getDistanceFrom: (स्थिरांक CLLocation *) स्थान
आप दोनों पतों के लिए अक्षांश / देशांतर की आवश्यकता होगी।
संपादित करें: आईओएस 3.2 में पदावनत। distanceFromLocation का उपयोग करें: विधि के बजाय।
कोई लेकिन अगर आप देशांतर / अक्षांश है तो यह काफी आसान दूरी की गणना करने के लिए है। यह निश्चित रूप से उन बिंदुओं के बीच गणितीय दूरी है। नहीं वास्तविक ड्राइविंग या पैदल दूरी है कि एक वास्तविक मार्ग पर आधारित है।
MapKit का प्रयोग दो पते के बीच ड्राइविंग दूरी की गणना करने के - नहीं, लेकिन यदि आप देशांतर / अक्षांश है तो यह दूरी की गणना करने के लिए काफी आसान है। यह उन बिंदुओं के बीच गणितीय दूरी है।
आप एप्पल नक्शे और गूगल मैप्स ब्लॉग के माध्यम से जाने के बीच का अंतर प्राप्त करना चाहते हैं: -
मेरी अनुप्रयोगों में मैं दो स्थान के बीच ड्राइविंग (चलने) दूरी पाने के लिए MKDirections इस्तेमाल किया।
CLLocationCoordinate2D startCoordinates = YOUR_START_COORDINATES;
CLLocationCoordinate2D endCoordinates = YOUR_END_COORDINATES;
MKPlacemark *startPoint = [[MKPlacemark alloc] initWithCoordinate:startCoordinates];
MKPlacemark *endPoint = [[MKPlacemark alloc] initWithCoordinate:endCoordinates];
MKMapItem *startItem = [[MKMapItem alloc] initWithPlacemark:startPoint];
MKMapItem *endItem = [[MKMapItem alloc] initWithPlacemark:endPoint];
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
request.source = startItem;
request.destination = endItem;
request.transportType = MKDirectionsTransportTypeAutomobile; //here you can choose a transport type you need
MKDirections *direction = [[MKDirections alloc] initWithRequest:request];
[direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse * _Nullable response, NSError * _Nullable error) {
if (response) {
for (MKRoute *route in response.routes) {
NSLog(@"Distance : %f", route.distance);
}
}
}];
अगर आप आप एक पते के रूप में स्थान दिया है, ताकि आप CLGeocoder की विधि, दे देंगे जो आप अक्षांश और आपके पते का उपयोग कर सकते हैं देशांतर
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
यदि आप एक ड्राइविंग दूरी गूगल मैप्स का उपयोग कर एक साथ MKDirections का उपयोग कर परिणाम की तुलना हैं, तो आप यह है कि वे अलग देखेंगे। मैं इस मामले के बारे में खोज और नीचे दिए गए लिंक भर में आया http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/
हालांकि एप्पल अपने मानचित्र सेवा में सुधार किया गया है, वे अभी भी कम से कम ड्राइविंग दूरी के संबंध में भी प्रश्न में गूगल (IMO), करने के लिए सटीकता में स्वीकार। तो अगर सटीकता अपने मामले में अत्यधिक महत्वपूर्ण है ताकि आप एप्पल के साथ पालन कर सकते हैं नहीं है,। अन्यथा मैं गूगल एपीआई जाँच की सिफारिश करेंगे।













