کتابخانه کاروری‌های کیت توسعه نرم‌افزار Maps ویژه Android

پلاتفرم را انتخاب کنید: Android iOS

به‌دنبال ویژگی‌های پیشرفته برای افزودن به نقشه‌هایتان هستید؟ کتابخانه کاروری‌های کیت توسعه نرم‌افزار Maps ویژه Android کتابخانه‌ای متن‌باز از کلاس‌ها است که برای طیفی از برنامه‌ها مفید است. مخزن GitHub شامل کلاس‌های ابزار و برنامه نمونه است که استفاده از هر کلاس را نشان می‌دهد.

در این ویدیو، کریس برادفوت درباره کتابخانه ابزار با تمرکز بر رمزگشایی چندخطی، هندسه کروی، و نمادهای حبابکی بحث می‌کند.

راه‌اندازی سریع

‫

برای نصب «کتابخانه کاروری‌های کیت توسعه نرم‌افزار Maps ویژه Android»، راهنمای راه‌اندازی را دنبال کنید.

کاربری‌ها

نقشه‌ای با لایه GeoJSON

وارد کردن GeoJSON به نقشه

می‌توانید عارضه‌ها را در قالب GeoJSON ذخیره کنید و از این ابزار برای پرداز کردن آن‌ها به‌عنوان لایه‌ای در بالای نقشه استفاده کنید. برای افزودن داده‌های GeoJSON به نقشه، با addLayer() تماس بگیرید. همچنین می‌توانید با فراخوانی addFeature() و گذراندن شیء GeoJsonFeature، ویژگی‌های تکی اضافه کنید.

برای جزئیات، مستندات مربوط به Google Maps Android GeoJSON Utility را ببینید.

نقشه‌ای با لایه KML

وارد کردن KML به نقشه

بااستفاده از این ابزار، می‌توانید اشیا KML را به شکل‌های جغرافیایی تبدیل کنید و آن‌ها را به‌عنوان لایه‌ای در بالای نقشه پرداز کنید. برای افزودن لایه به نقشه، با addLayerToMap() تماس بگیرید. می‌توانید با فراخواندن getProperties() در هر «مکان‌نما»، «رونهاد زمینی»، «سند»، یا «پوشه» به دارایی‌های شیء KML دسترسی پیدا کنید.

برای جزئیات، مستندات مربوط به Google Maps Android KML Utility را ببینید.

نقشه‌ای با نقشه حرارتی

افزودن گرما نقشه به نقشه

نقشه‌های حرارتی درک توزیع و شدت نسبی نقاط داده روی نقشه را برای بینندگان آسان می‌کنند. به‌جای قرار دادن نشانگر در هر مکان، نقشه‌های حرارتی از رنگ و شکل برای نشان دادن توزیع داده‌ها استفاده می‌کنند. HeatmapTileProvider ایجاد کنید و مجموعه‌ای از اشیا LatLng را که نشان‌دهنده نقاط موردعلاقه در نقشه است به آن ارسال کنید. سپس TileOverlay جدیدی ایجاد کنید، ارائه‌دهنده کاشی نقشه حرارتی را به آن منتقل کنید، و رونهاد کاشی را به نقشه اضافه کنید.

برای جزئیات، مستندات مربوط به Google Maps Android Heatmap Utility را ببینید.

نقشه‌ای با نمادهای حبابی

سفارشی‌سازی نشانگرها ازطریق نمادهای حبابکی

IconGenerator را اضافه کنید تا گزیده‌های اطلاعات را در نشانگرهایتان نمایش دهید. این ابزار روشی برای تبدیل کردن نمادهای نشانه شما به پنجره‌های اطلاعاتی ارائه می‌دهد، به این صورت که خود نشانه می‌تواند حاوی نوشتار و محتوای دیگر باشد. مزیت این است که می‌توانید بیش از یک نشانگر را به‌طور هم‌زمان باز نگه دارید، درحالی‌که فقط یک پنجره اطلاعات می‌تواند به‌طور هم‌زمان باز باشد. همچنین می‌توانید نشانگرها را سبک‌بندی کنید، جهت نشانگر و/یا محتوا را تغییر دهید، و تصویر پس‌زمینه/نه تکه نشانگر را تغییر دهید.

نقشه‌ای با نشانگرهای خوشه‌ای

مدیریت خوشه‌های نشانگر

ClusterManager به شما کمک می‌کند چندین نشانگر را در سطوح مختلف بزرگ‌نمایی مدیریت کنید. این یعنی می‌توانید تعداد زیادی نشانگر روی نقشه قرار دهید بدون اینکه خواندن نقشه دشوار شود. وقتی کاربر نقشه را در سطح بزرگ‌نمایی بالا مشاهده می‌کند، نشانگرهای تکی روی نقشه نشان داده می‌شوند. وقتی کاربر به سطح بزرگ‌نمایی پایین‌تری زوم‌پس می‌کند، نشانگرها در خوشه‌ها جمع می‌شوند تا مشاهده نقشه آسان‌تر شود.

برای جزئیات، مستندات مربوط به Google Maps Android Marker Clustering Utility را ببینید.

نقشه‌ای با چند لایه

افزودن چندین لایه به یک نقشه

می‌توانید عارضه‌های 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 جلوگیری کنید.

برای جزئیات، به اسناد مربوط به ابزار کمکی فراداده «نمای خیابان» در GitHub مراجعه کنید.