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

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

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

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

راه‌اندازی فوری

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

تأسیسات

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

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

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

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

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

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

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

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

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

افزودن نقشه حرارتی به نقشه

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

برای جزئیات، به مستندات مربوط به ابزار کمکی نقشه حرارتی Android در Google Maps مراجعه کنید.

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

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

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

نقشه با نشانگر

پویانمایی نشانگرها

می‌توانید نشانگر را پویانمایی کنید تا به‌آرامی از موقعیت فعلی‌اش به مکان جدیدی منتقل شود. کلاس AnimationUtil این قابلیت را ارائه می‌دهد. برای دیدن نمونه‌ای از نحوه استفاده از آن، AnimationUtilDemoActivity را در مخزن GitHub کتابخانه ابزار ببینید.

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

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

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

برای جزئیات، به اسناد مربوط به ابزار کمکی خوشه‌بندی نشانگر Android در Google Maps مراجعه کنید.

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

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

می‌توانید عارضه‌های GeoJSON،‏ KML، و خوشه‌ها—و همچنین نشانگرها، چندخطی‌ها، و چندضلعی‌های خودتان—را در یک نقشه نشان دهید. همچنین می‌توانید با افزودن شنونده کلیک به هر لایه، این لایه‌ها را تعاملی کنید. برای انجام این کار، کلاس‌های MarkerManager، GroundOverlayManager، PolygonManager، و PolylineManager را نمونه‌سازی کنید و آن‌ها را به سازنده‌های GeoJsonLayer، KmlLayer، و ClusterManager هنگام راه‌اندازی آن‌ها منتقل کنید. سپس می‌توانید از این کلاس‌های Manager مستقیماً برای افزودن نشانگرها، چندخطی‌ها، و چندضلعی‌های خودتان به نقشه استفاده کنید.

برای جزئیات، به اسناد مربوط به Google Maps Android Multi Layer Demo مراجعه کنید.

نقشه‌ای با چندخطی کدگذاری‌شده

رمزگذاری و رمزگشایی چندخطی‌ها

کلاس PolyUtil چندخطی‌ها و چندضلعی‌های کدبندی‌شده را به مختصات عرض جغرافیایی/طول جغرافیایی تبدیل می‌کند و مختصات را به چندخطی‌ها و چندضلعی‌های کدبندی‌شده تبدیل می‌کند.

در Google Maps، مختصات طول و عرض جغرافیایی که چندخطی یا چندضلعی را تعریف می‌کنند به‌صورت رشته کدگذاری‌شده ذخیره می‌شوند. توضیح دقیق کدبندی چندخطی را ببینید. ممکن است این رشته کدگذاری‌شده را در پاسخی از Google API، مانند Directions API (Legacy) دریافت کنید.

می‌توانید از PolyUtil در «کتابخانه کاروری‌های کیت توسعه نرم‌افزار Maps ویژه Android» استفاده کنید تا توالی مختصات طول/عرض جغرافیایی (LatLngs) را به رشته مسیر کدگذاری‌شده تبدیل کنید و رشته مسیر کدگذاری‌شده را به توالی LatLngs رمزگشایی کنید. این کار قابلیت همکاری با سرویس‌های وب میاناهای برنامه‌سازی کاربردی Google Maps را تضمین می‌کند.

فاصله محاسبه‌شده بین دو نقطه روی نقشه

محاسبه فاصله‌ها، مساحت‌ها، و عنوان‌ها با هندسه کروی

بااستفاده از ابزارهای هندسه کروی در SphericalUtil، می‌توانید فاصله‌ها، مساحت‌ها، و جهت‌ها را براساس عرض‌های جغرافیایی و طول‌های جغرافیایی محاسبه کنید. برخی‌از روش‌های موجود در این ابزار کمکی در اینجا آمده است:

  • computeDistanceBetween() – فاصله بین دو مختصات عرض جغرافیایی/ طول جغرافیایی را به متر برمی‌گرداند.
  • computeHeading() – جهت را، برحسب درجه، بین دو مختصات عرض جغرافیایی/طول جغرافیایی برمی‌گرداند.
  • computeArea() – مساحت مسیر بسته روی زمین را به متر مربع برمی‌گرداند.
  • interpolate() – مختصات طول/ عرض جغرافیایی نقطه‌ای را برمی‌گرداند که در کسر مشخصی از فاصله بین دو نقطه مشخص‌شده قرار دارد. می‌توانید از این برای پویانمایی نشانگر بین دو نقطه استفاده کنید، برای مثال.

برای مشاهده فهرست کامل روش‌ها در ابزار، به اسناد مرجع مراجعه کنید.

بررسی کنید آیا مکانی در «نمای خیابان» پشتیبانی می‌شود یا نه

بررسی کنید آیا مکانی در «نمای خیابان» پشتیبانی می‌شود یا نه

کلاس StreetViewUtil عملکردی را برای بررسی اینکه آیا مکانی در «نمای خیابان» پشتیبانی می‌شود یا نه ارائه می‌دهد. با فراخوانی این ابزار کمکی فراداده و افزودن تمام‌نمای «نمای خیابان» فقط درصورتی‌که پاسخ OK باشد، می‌توانید از بروز خطا هنگام افزودن تمام‌نمای «نمای خیابان» به برنامه Android جلوگیری کنید.

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