iOS के लिए Maps SDK, इन कोऑर्डिनेट सिस्टम का इस्तेमाल करता है:
- अक्षांश और देशांतर की वैल्यू, जो दुनिया के किसी पॉइंट को यूनीक तरीके से रेफ़रंस करती हैं. Google, वर्ल्ड जियोडेटिक सिस्टम WGS84 स्टैंडर्ड का इस्तेमाल करता है.
- वर्ल्ड कोऑर्डिनेट, जो मैप पर किसी पॉइंट को यूनीक तरीके से रेफ़रंस करते हैं.
- पिक्सल कोऑर्डिनेट, जो ज़ूम के किसी लेवल पर मैप के किसी पिक्सल का रेफ़रंस देते हैं.
- टाइल कोऑर्डिनेट, जो मैप पर किसी खास ज़ूम करने के लेवल पर किसी खास टाइल का रेफ़रंस देते हैं.
वर्ल्ड कोऑर्डिनेट
जब भी एपीआई को दुनिया की किसी जगह को मैप पर मौजूद किसी जगह में बदलना होता है, तो वह सबसे पहले अक्षांश और देशांतर की वैल्यू को world कोऑर्डिनेट में बदलता है. यह एपीआई, अनुवाद करने के लिए मर्केटर प्रोजेक्शन का इस्तेमाल करता है.
पिक्सेल कोऑर्डिनेट (नीचे देखें) की गिनती को आसान बनाने के लिए, हम यह मान लेते हैं कि ज़ूम करने के लेवल 0 पर मौजूद मैप, बेस टाइल के साइज़ की एक ही टाइल है. इसके बाद, हम ज़ूम लेवल 0 पर पिक्सल कोऑर्डिनेट के हिसाब से दुनिया के कोऑर्डिनेट तय करते हैं. इसके लिए, हम प्रोजेक्शन का इस्तेमाल करके अक्षांश और देशांतर को इस बेस टाइल पर पिक्सल पोज़िशन में बदलते हैं. यह वर्ल्ड कोऑर्डिनेट, फ़्लोटिंग पॉइंट वैल्यू होती है. इसे मैप प्रोजेक्शन के ऑरिजिन से किसी खास जगह तक मापा जाता है. ध्यान दें कि यह वैल्यू फ़्लोटिंग पॉइंट वैल्यू है. इसलिए, यह दिखाई जा रही मैप इमेज के मौजूदा रिज़ॉल्यूशन से ज़्यादा सटीक हो सकती है. दूसरे शब्दों में कहें, तो वर्ल्ड कोऑर्डिनेट, मौजूदा ज़ूम लेवल से अलग होता है.
Google Maps में दुनिया के निर्देशांक, मर्केटर प्रोजेक्शन के ऑरिजिन से मापे जाते हैं. यह ऑरिजिन, मैप का उत्तर-पश्चिम कोना होता है. यह 180 डिग्री देशांतर और करीब 85 डिग्री अक्षांश पर होता है. ये निर्देशांक, x दिशा में पूर्व (दाईं ओर) की ओर बढ़ते हैं और y दिशा में दक्षिण (नीचे) की ओर बढ़ते हैं. Google Maps की बुनियादी मर्केटर टाइल 256 x 256 पिक्सल की होती है. इसलिए, इस्तेमाल किया जा सकने वाला वर्ल्ड कोऑर्डिनेट स्पेस {0-256}, {0-256} होता है.
![]()
ध्यान दें कि मर्केटर प्रोजेक्शन में, देशांतर के हिसाब से चौड़ाई सीमित होती है, लेकिन अक्षांश के हिसाब से ऊंचाई असीमित होती है. मर्केटर प्रोजेक्शन वाले मैप में, बुनियादी मैप इमेज को करीब +/- 85 डिग्री पर काट दिया जाता है, ताकि मैप का आकार स्क्वेयर हो जाए और टाइल चुनना आसान हो. ध्यान दें कि अगर पोल के आस-पास प्लॉट किया जाता है, तो प्रोजेक्शन से ऐसे वर्ल्ड कोऑर्डिनेट जनरेट हो सकते हैं जो बेस मैप के इस्तेमाल किए जा सकने वाले कोऑर्डिनेट स्पेस से बाहर हों.
पिक्सल कोऑर्डिनेट
पिक्सल कोऑर्डिनेट, मैप पर किसी खास ज़ूम करने के लेवल पर मौजूद किसी पिक्सल का रेफ़रंस देते हैं. वहीं, वर्ल्ड कोऑर्डिनेट किसी 2D प्रोजेक्शन पर मौजूद सटीक जगहों को दिखाते हैं. पिक्सेल के निर्देशांकों का हिसाब लगाने के लिए, इस फ़ॉर्मूले का इस्तेमाल किया जाता है:
pixelCoordinate = worldCoordinate * 2zoomLevel
ऊपर दिए गए समीकरण से पता चलता है कि ज़ूम करने के लेवल में हर बढ़ोतरी, x और y, दोनों दिशाओं में दोगुनी होती है. इसलिए, हर ज़ूम करने के लेवल पर रिज़ॉल्यूशन, पिछले लेवल के रिज़ॉल्यूशन से चार गुना ज़्यादा होता है. उदाहरण के लिए, ज़ूम करने के लेवल 1 पर मैप में 256x256 पिक्सल की चार टाइलें होती हैं. इससे पिक्सल स्पेस 512x512 का होता है. ज़ूम करने के लेवल 19 पर, मैप पर मौजूद हर x और y पिक्सल को 0 से 256 * 219 के बीच की वैल्यू का इस्तेमाल करके रेफ़रंस किया जा सकता है.
हमने मैप के टाइल साइज़ के आधार पर वर्ल्ड कोऑर्डिनेट तय किए हैं. इसलिए, पिक्सल कोऑर्डिनेट के पूर्णांक हिस्से से, ज़ूम लेवल के हिसाब से उस जगह के सटीक पिक्सल की पहचान की जा सकती है. ध्यान दें कि ज़ूम लेवल 0 के लिए, पिक्सल कोऑर्डिनेट, दुनिया के कोऑर्डिनेट के बराबर होते हैं.
ये कोऑर्डिनेट सिस्टम, मैप पर मौजूद हर जगह की सटीक जानकारी देते हैं. साथ ही, हर ज़ूम करने के लेवल पर भी यह जानकारी सटीक होती है. iOS के लिए Maps SDK, ज़ूम करने का लेवल, मैप के सेंटर को LatLng के तौर पर, और शामिल किए गए DOM एलिमेंट के साइज़ के हिसाब से व्यूपोर्ट बनाता है. साथ ही, इस बाउंडिंग बॉक्स को पिक्सल कोऑर्डिनेट में बदलता है. इसके बाद, एपीआई उन सभी मैप टाइल का पता लगाता है जो दिए गए पिक्सल बाउंड्री के अंदर आती हैं. इन मैप टाइल में से हर एक को टाइल कोऑर्डिनेट का इस्तेमाल करके रेफ़रंस दिया जाता है. इससे मैप की इमेज को दिखाना बहुत आसान हो जाता है.
टाइल कोऑर्डिनेट
ज़्यादा ज़ूम लेवल के लिए, एपीआई एक साथ मैप की सभी इमेज लोड नहीं कर सकता. इसके बजाय, यह हर ज़ूम करने के लेवल पर इमेज को Map Tiles के सेट में बांटता है. इन टाइल को इस तरह से व्यवस्थित किया जाता है कि आपका ऐप्लिकेशन इनका इस्तेमाल कर सके. जब कोई मैप नई जगह या नए ज़ूम लेवल पर स्क्रोल होता है, तो एपीआई पिक्सल कोऑर्डिनेट का इस्तेमाल करके यह तय करता है कि उसे किन टाइलों की ज़रूरत है. इसके बाद, वह उन वैल्यू को वापस पाने के लिए, टाइलों के सेट में बदलता है. यह स्कीम का इस्तेमाल करके, इन टाइल कोर्डिनेट असाइन करता है. इससे यह आसानी से पता लगाया जा सकता है कि किसी भी पॉइंट की इमेज किस टाइल में मौजूद है.
Google Maps में टाइल को उसी ओरिजन से नंबर दिया जाता है जिससे पिक्सल को नंबर दिया जाता है. Google के मेर्केटर प्रोजेक्शन में, ओरिजन टाइल हमेशा मैप के उत्तर-पश्चिम कोने में होती है. इसमें x की वैल्यू पश्चिम से पूर्व की ओर और y की वैल्यू उत्तर से दक्षिण की ओर बढ़ती है. टाइलें, उस ऑरिजिन से मिले x,y निर्देशांकों का इस्तेमाल करके इंडेक्स की जाती हैं. उदाहरण के लिए, ज़ूम लेवल 2 पर, जब पृथ्वी को 16 टाइलों में बांटा जाता है, तो हर टाइल को यूनीक x,y पेयर से रेफ़रंस किया जा सकता है:

ध्यान दें कि पिक्सल कोऑर्डिनेट को टाइल के साइज़ (256) से भाग देने और नतीजे के पूर्णांक वाले हिस्से को लेने पर, आपको मौजूदा ज़ूम लेवल पर टाइल का कोऑर्डिनेट मिलता है.
उदाहरण
यहां दिए गए उदाहरण में, शिकागो, इलिनॉय के कोऑर्डिनेट दिखाए गए हैं: अक्षांश/देशांतर की वैल्यू, वर्ल्ड कोऑर्डिनेट, पिक्सल कोऑर्डिनेट, और टाइल कोऑर्डिनेट. अलग-अलग ज़ूम लेवल पर कोऑर्डिनेट की वैल्यू देखने के लिए, ज़ूम कंट्रोल का इस्तेमाल करें.
यह देखने के लिए कि निर्देशांकों का हिसाब कैसे लगाया गया, कोड देखें.