2012-03-19 12 views
7

के बीच क्या अंतर है मैं MapKit और CoreLocation ढांचे के नमूना उदाहरण के माध्यम से जा रहा था। मैंने इन दो structs (MKCoordinateSpan और CLLocationCoordinate2D) पाया जो घोषणा में समान हैं। कार्यक्षमता में ये अलग-अलग कैसे हैं, क्या कोई व्यक्ति अपने अर्थों को साफ़ करने के लिए एक उदाहरण (दोनों का उपयोग करके) साइट कर सकता है।एमके कॉर्डिनेटस्पैन और सीएलएलोकेशन कोऑर्डिनेट 2 डी

धन्यवाद!

उत्तर

22

MKCoordinateSpanअवधि, यानी मानचित्र पर दिखाने के लिए अक्षांश और देशांतर दिशाओं में एक डेल्टा परिभाषित करता है। एक बिंदु के साथ आप मानचित्र पर प्रदर्शित करने के लिए एक क्षेत्र को परिभाषित कर सकते हैं।

CLLocationCoordinate2D अक्षांश और देशांतर समन्वय प्रणाली में एक बिंदु को परिभाषित करता है।

उदाहरण के लिए:

|<---- deltaLat ---->| 
|---------------------|--- 
|      | | 
|      | | 
|      | | 
|      | | 
|   +   |deltaLon 
|  (lat,lon)  | | 
|      | | 
|      | | 
|      | | 
|---------------------|--- 

यहाँ आप एक केंद्र बिंदु (lat,lon) कल्पना कर सकते हैं जिसके बारे में आप एक deltaLat और एक deltaLon है।

तो (lat,lon)CLLocationCoordinate2D और deltaLat, deltaLonMKCoordinateSpan होगा।

आप सही है कि दोनों संरचनाओं एक ही तरीके से परिभाषित कर रहे हैं कर रहे हैं, लेकिन यह काफी आम है जहां दो अलग संरचनाओं अलग अर्थ विज्ञान है और इसलिए परिभाषित कर रहे हैं अलग तरह आप मिल गया है। के रूप में डेल्टा महत्व देता

+0

उत्तर के लिए धन्यवाद, और एक और बात मुझे पता करने के लिए मिल यहां, सोचा कि मुझे आपके साथ साझा करना चाहिए। सेब दस्तावेज के अनुसार यहां ज़ूम स्तर ज़ूम स्तर है। ज़ूम स्तर जितना कम होगा ज़ूम स्तर होगा। यह डेल्टा मान फ्लोट में है। वे इसे CLLocationDegrees में क्यों ले गए? – turtle

+0

क्योंकि यह एक * डेल्टा * है। यानी यह क्षेत्र को परिभाषित कर रहा है जैसा मैंने कच्चे आरेख में दिखाया है। यह सीधे एक ज़ूम स्तर को परिभाषित नहीं कर रहा है, यह वास्तव में एक क्षेत्र को परिभाषित कर रहा है। – mattjgalloway

+0

it..thanks समझे .. :) – turtle

6

MKCoordinateSpan व्याख्या की है, जबकि CLLocationCoordinate2D एक बिंदु रूप में व्याख्या की है।

उदाहरण के लिए, यदि आप एक केंद्र बिंदु है, और इसके चारों ओर त्रिज्या को परिभाषित करेगा मान लीजिए कि आप एक परिपत्र क्षेत्र को परिभाषित करना चाहते हैं,।

MapKit में, आप आयताकार क्षेत्रMKCoordinateRegion द्वारा परिभाषित करते हैं। केंद्र बिंदु एक CLLocationCoordinate2D (latitude और longitude - दोनों double की typedef) है और द्वारा MKCoordinateSpan (latitudeDelta और longitudeDelta - double के दोनों typedef) एक ऊर्ध्वाधर और क्षैतिज डेल्टा

+0

धन्यवाद पूरी तरह से buddy..understood .. :) – turtle

संबंधित मुद्दे