کیت توسعه نرمافزار Google Maps برای iOS از سیستمهای مختصات زیر استفاده میکند:
- مقادیر طول و عرض جغرافیایی که به نقطهای در جهان بهطور منحصربهفرد ارجاع میدهند. Google از استاندارد World Geodetic System WGS84 استفاده میکند.
- مختصات جهانی که بهطور منحصربهفرد به نقطهای در نقشه ارجاع میدهد.
- مختصات پیکسلی که به پیکسل خاصی در نقشه در سطح بزرگنمایی خاصی ارجاع میدهد.
- مختصات کاشی که به کاشی خاصی در نقشه در سطح بزرگنمایی خاصی ارجاع میدهد.
مختصات جهانی
هرگاه API نیاز داشته باشد مکانی در جهان را به مکانی روی نقشه ترجمه کند، ابتدا مقادیر طول و عرض جغرافیایی را به مختصات جهانی ترجمه میکند. این API از تصویر مرکاتور برای انجام این ترجمه استفاده میکند.
برای راحتی در محاسبه مختصات پیکسلی (به زیر مراجعه کنید) فرض میکنیم نقشه در سطح بزرگنمایی ۰ یک کاشی تکی از اندازه کاشی پایه است. سپس مختصات جهانی را نسبت به مختصات پیکسلی در سطح بزرگنمایی ۰ تعریف میکنیم و از تصویر برای تبدیل عرضهای جغرافیایی و طولهای جغرافیایی به موقعیتهای پیکسلی در این کاشی پایه استفاده میکنیم. این مختصات جهانی یک مقدار ممیز شناور است که از مبدأ تصویر نقشه تا مکان خاص اندازهگیری میشود. توجه داشته باشید که چون این مقدار یک مقدار ممیز شناور است، ممکن است بسیار دقیقتر از وضوح فعلی تصویر نقشه نمایشدادهشده باشد. به عبارت دیگر، مختصات جهانی مستقل از سطح بزرگنمایی فعلی است.
مختصات جهانی در Google Maps از مبدأ تصویر مرکاتور (گوشه شمال غربی نقشه در طول جغرافیایی ۱۸۰ درجه و عرض جغرافیایی تقریباً ۸۵ درجه) اندازهگیری میشود و در جهت x بهسمت شرق (راست) و در جهت y بهسمت جنوب (پایین) افزایش مییابد. چون
کاشی مرکاتور پایه Google Maps ۲۵۶ × ۲۵۶ پیکسل است، فضای مختصات
جهانی قابلاستفاده {0-256}, {0-256} است.
![]()
توجه داشته باشید که تصویر مرکاتور دارای عرض محدود در جهت طول جغرافیایی اما ارتفاع نامحدود در جهت عرض جغرافیایی است. ما تصاویر نقشه مبنا را بااستفاده از تصویر مرکاتور در حدود ۸۵+/- درجه قطع میکنیم تا شکل نقشه حاصل مربع شود، که منطق سادهتری را برای انتخاب کاشی فراهم میکند. توجه داشته باشید که اگر برای مثال در نزدیکی قطبها طرحریزی کنید، تصویر ممکن است مختصات جهانی خارج از فضای مختصات قابلاستفاده نقشه مبنا تولید کند.
مختصات پیکسلی
مختصات پیکسلی به پیکسل خاصی در نقشه در سطح بزرگنمایی خاصی اشاره میکند، درحالیکه مختصات جهانی مکانهای مطلق را در تصویرسازی معینی نشان میدهد. مختصات پیکسلی بااستفاده از فرمول زیر محاسبه میشود:
pixelCoordinate = worldCoordinate * 2zoomLevel
از معادله بالا، توجه داشته باشید که هر سطح بزرگنمایی افزایشی
در هر دو جهت x و y
دو برابر بزرگتر است. بنابراین، هر سطح بزرگنمایی بالاتر منجر به وضوحی چهار برابر بیشتر از سطح قبلی میشود. برای مثال، در سطح بزرگنمایی ۱،
نقشه از ۴ کاشی ۲۵۶×۲۵۶ پیکسلی تشکیل شده است که منجر به فضای پیکسلی
۵۱۲×۵۱۲ میشود. در سطح بزرگنمایی ۱۹، هر پیکسل x و y
روی نقشه را میتوان بااستفاده از مقداری بین
۰ و ۲۵۶ * ۲۱۹ ارجاع داد.
چون مختصات جهانی را براساس اندازه کاشی نقشه قرار دادیم، بخش عدد صحیح مختصات پیکسلی تأثیر شناسایی پیکسل دقیق در آن مکان را در سطح بزرگنمایی فعلی دارد. توجه داشته باشید که برای سطح بزرگنمایی ۰، مختصات پیکسلی با مختصات جهانی برابر است.
این سیستمهای مختصات هر مکان را در نقشه، در هر سطح بزرگنمایی، بهطور دقیق نشان میدهند. کیت توسعه نرمافزار Google Maps برای iOS بااستفاده از سطح بزرگنمایی،
مرکز نقشه بهعنوان LatLng، و اندازه عنصر DOM دربرگیرنده،
یک نمای هدف میسازد و این کادر محدودکننده را به مختصات پیکسلی ترجمه میکند. سپس API بهطور منطقی
همه کاشیهای نقشه را که در محدوده پیکسل دادهشده قرار دارند تعیین میکند. بااستفاده از مختصات کاشی، به هرکدام از این کاشیهای نقشه ارجاع میدهید که نمایش تصاویر نقشه را بسیار ساده میکند.
مختصات کاشی
API نمیتواند همه تصاویر نقشه را بهطور همزمان برای سطوح بزرگنمایی بالاتر بار کند. درعوض، تصاویر را در هر سطح بزرگنمایی به مجموعهای از کاشیهای نقشه تقسیم میکند که بهطور منطقی به ترتیبی چیده شدهاند که برنامه شما میتواند از آنها استفاده کند. وقتی نقشه به مکان جدید یا سطح بزرگنمایی جدیدی پیمایش میکند، API بااستفاده از مختصات پیکسلی تعیین میکند که به کدام کاشیها نیاز دارد و سپس آن مقادیر را به مجموعهای از کاشیها برای بازیابی ترجمه میکند. این مختصات کاشی را بااستفاده از طرحی اختصاص میدهد که تعیین اینکه کدام کاشی حاوی تصاویر برای هر نقطه مشخص است را ساده میکند.
شمارهگذاری کاشیها در Google Maps از همان مبدأ شمارهگذاری پیکسلها شروع میشود. برای پیادهسازی Google از تصویر مرکاتور،
کاشی مبدأ همیشه در گوشه شمال غربی
نقشه قرار دارد، با مقادیر x که از غرب به
شرق افزایش مییابد و مقادیر y که از شمال به جنوب افزایش مییابد. کاشیها
بااستفاده از مختصات x,y از آن مبدأ نمایهسازی میشوند. برای
مثال، در سطح بزرگنمایی ۲، وقتی زمین به ۱۶ کاشی تقسیم میشود،
هر کاشی را میتوان با یک جفت x,y یکتا ارجاع داد:

توجه داشته باشید که با تقسیم مختصات پیکسلی بر اندازه کاشی (۲۵۶) و درنظر گرفتن بخشهای عدد صحیح نتیجه، مختصات کاشی را در سطح بزرگنمایی فعلی بهعنوان محصول جانبی تولید میکنید.
مثال
مثال زیر مختصات شیکاگو، ایلینوی را نشان میدهد: مقادیر عرض جغرافیایی/طول جغرافیایی، مختصات جهانی، مختصات پیکسلی، و مختصات کاشی. از کنترل بزرگنمایی برای دیدن مقادیر مختصات در سطوح مختلف بزرگنمایی استفاده کنید.
برای دیدن نحوه محاسبه مختصات، کد را مشاهده کنید.