بهدنبال ویژگیهای پیشرفته برای افزودن به نقشههایتان هستید؟ کتابخانه کاروریهای کیت توسعه نرمافزار Maps ویژه Android کتابخانهای متنباز از کلاسها است که برای طیفی از برنامهها مفید است. مخزن GitHub شامل کلاسهای
ابزار و برنامه نمونه است که استفاده از هر کلاس را
نشان میدهد.
در این ویدیو، کریس برادفوت درباره کتابخانه ابزار با تمرکز بر
رمزگشایی چندخطی، هندسه کروی، و نمادهای حبابکی بحث میکند.
راهاندازی سریع
برای نصب «کتابخانه کاروریهای کیت توسعه نرمافزار Maps ویژه Android»،
راهنمای راهاندازی را دنبال کنید.
کاربریها
وارد کردن GeoJSON به نقشه
میتوانید عارضهها را در قالب GeoJSON
ذخیره کنید و از این ابزار برای پرداز کردن آنها بهعنوان لایهای در بالای نقشه استفاده کنید.
برای افزودن دادههای GeoJSON به نقشه، با addLayer() تماس بگیرید.
همچنین میتوانید با فراخوانی addFeature() و
گذراندن شیء GeoJsonFeature، ویژگیهای تکی اضافه کنید.
بااستفاده از این ابزار، میتوانید
اشیا KML
را به شکلهای جغرافیایی تبدیل کنید و آنها را بهعنوان لایهای در
بالای نقشه پرداز کنید. برای افزودن لایه به نقشه، با addLayerToMap() تماس بگیرید. میتوانید با فراخواندن
getProperties() در هر «مکاننما»، «رونهاد زمینی»، «سند»، یا
«پوشه» به داراییهای شیء KML دسترسی پیدا کنید.
نقشههای حرارتی درک توزیع و شدت نسبی نقاط داده روی نقشه را برای بینندگان آسان میکنند. بهجای قرار دادن نشانگر در
هر مکان، نقشههای حرارتی از رنگ و شکل برای نشان دادن توزیع
دادهها استفاده میکنند. HeatmapTileProvider ایجاد کنید و مجموعهای از اشیا LatLng را که نشاندهنده نقاط موردعلاقه در نقشه است به آن ارسال کنید. سپس
TileOverlay جدیدی ایجاد کنید،
ارائهدهنده کاشی نقشه حرارتی را به آن منتقل کنید، و رونهاد کاشی را به
نقشه اضافه کنید.
IconGenerator را اضافه کنید تا گزیدههای اطلاعات را
در نشانگرهایتان نمایش دهید. این ابزار روشی برای تبدیل کردن نمادهای نشانه شما به
پنجرههای اطلاعاتی ارائه میدهد، به این صورت که خود نشانه میتواند حاوی نوشتار
و محتوای دیگر باشد. مزیت این است که میتوانید بیش از یک نشانگر را
بهطور همزمان باز نگه دارید، درحالیکه فقط یک پنجره اطلاعات میتواند بهطور همزمان باز باشد.
همچنین میتوانید نشانگرها را سبکبندی کنید، جهت نشانگر و/یا محتوا را تغییر دهید، و تصویر پسزمینه/نه تکه نشانگر را تغییر دهید.
مدیریت خوشههای نشانگر
ClusterManager به شما کمک میکند چندین نشانگر را در
سطوح مختلف بزرگنمایی مدیریت کنید. این یعنی میتوانید تعداد زیادی نشانگر روی نقشه قرار دهید بدون اینکه خواندن نقشه دشوار شود. وقتی کاربر نقشه را در سطح بزرگنمایی بالا مشاهده میکند، نشانگرهای تکی روی نقشه نشان داده میشوند. وقتی کاربر
به سطح بزرگنمایی پایینتری زومپس میکند، نشانگرها در
خوشهها جمع میشوند تا مشاهده نقشه آسانتر شود.
میتوانید عارضههای GeoJSON، KML، و خوشهها — و همچنین نشانگرها، چندخطیها، و چندضلعیهای خودتان — را در یک نقشه نشان دهید. این لایهها
را میتوان با افزودن شنونده کلیک به هر لایه تعاملی کرد.
کافی است کلاسهای MarkerManager، GroundOverlayManager،
PolygonManager، و PolylineManager را نمونهسازی کنید و
آنها را هنگام راهاندازی به سازندههای GeoJsonLayer، KmlLayer،
ClusterManager منتقل کنید. سپس میتوانید از کلاسهای
Manager بالا مستقیماً برای افزودن نشانگرها، چندخطیها،
و چندضلعیهای خودتان به نقشه استفاده کنید.
برای جزئیات، به
مستندات در
نمونه چندلایه Google Maps Android مراجعه کنید.
کدبندی و کدگشایی
چندخطیها
PolyUtil برای تبدیل چندخطیهای کدبندیشده و
چندضلعیها به مختصات عرض جغرافیایی/طول جغرافیایی و بالعکس مفید است.
در Google Maps، مختصات طول و عرض جغرافیایی که چندخطی یا چندضلعی را تعریف میکنند بهصورت رشته کدگذاریشده ذخیره میشوند. توضیحات دقیق
کدبندی چندخطی را ببینید. ممکن است این رشته کدبندیشده را در پاسخ یکی از
«میاناهای برنامهسازی کاربردی Google»، مثل «میانای برنامهسازی کاربردی مسیرها» (قدیمی)، دریافت کنید.
میتوانید از PolyUtil در «کتابخانه کاروریهای کیت توسعه نرمافزار Maps ویژه Android»
استفاده کنید تا توالی مختصات طول/عرض جغرافیایی (LatLngs) را
به رشته مسیر کدگذاریشده تبدیل کنید و رشته مسیر کدگذاریشده را به
توالی LatLngs رمزگشایی کنید. این کار قابلیت همکاری با سرویسهای وب Google
Maps APIs را تضمین میکند.
محاسبه فاصلهها، مساحتها، و
جهتها ازطریق هندسه کروی
بااستفاده از ابزارهای کمکی هندسه کروی در SphericalUtil، میتوانید فاصلهها، مساحتها، و جهتها را براساس عرضهای جغرافیایی و طولهای جغرافیایی محاسبه کنید. در اینجا برخیاز روشهای دردسترس در این ابزار آورده شده است:
computeDistanceBetween() – فاصله بین دو مختصات عرض/طول جغرافیایی را
به متر برمیگرداند.
computeHeading() – زاویه بین دو مختصات طول/عرض جغرافیایی را برحسب درجه برمیگرداند.
computeArea() – مساحت مسیر بستهای را در زمین برحسب مترمربع برمیگرداند.
interpolate() – مختصات طول/عرض جغرافیایی نقطهای را برمیگرداند که در کسری از فاصله بین دو نقطه معین قرار دارد. برای مثال، میتوانید از این ویژگی برای پویانمایی یک نشانگر بین دو نقطه استفاده کنید.
برای فهرست کامل روشها در ابزار کمکی، به
اسناد
مرجع مراجعه کنید.
بررسی کنید که آیا مکان موردنظر در «نمای خیابان» پشتیبانی میشود یا نه.
کلاس StreetViewUtil کارکردهایی برای بررسی اینکه آیا مکان در «نمای خیابان» پشتیبانی میشود یا نه ارائه میدهد. با فراخواندن این ابزار کمکی فراداده و فقط افزودن پانورامای «نمای خیابان» درصورتیکه پاسخ OK باشد، میتوانید از بروز خطا هنگام افزودن پانورامای «نمای خیابان» به برنامه Android جلوگیری کنید.
تاریخ آخرین بهروزرسانی 2026-10-11 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2026-10-11 بهوقت ساعت هماهنگ جهانی."],[],["The Maps SDK for Android Utility Library offers tools for enhancing map functionality. Key actions include importing GeoJSON and KML data, adding heatmaps, managing marker clusters, and customizing markers with bubble icons. It supports adding multiple layers, and it also allows users to encode/decode polylines and utilize spherical geometry for distance, area, and heading calculations. Additionally, users can check if a location is supported in street view. All utilities are open-source, and can be viewed with the provided demo app.\n"]]