مفاهیم کلیدی

برای تولید یک ایزوکرون، یک مبدا، یک حالت سفر مانند رانندگی، دوچرخه‌سواری یا پیاده‌روی و یک محدودیت زمانی به API ارائه دهید. همچنین می‌توانید تنظیمات مسیریابی و ظاهر بصری چندضلعی حاصل را تنظیم کنید.

افق زمانی

محدودیت اصلی که شما برای سرویس ارائه می‌دهید، مدت travel_duration است. این محدودیت، افق زمانی محاسبه را تعریف می‌کند.

  • حداکثر مدت زمان: این API از حداکثر زمان سفر ۳۶۰۰ ثانیه (۱ ساعت) برای حالت DRIVE و ۷۲۰۰ ثانیه (۲ ساعت) برای حالت‌های WALK و BICYCLE پشتیبانی می‌کند.
  • عملکرد: زمان محاسبه با مدت زمان درخواستی و حالت سفر انتخاب شده، مقیاس‌بندی می‌شود. یک ایزوکرون رانندگی یک ساعته، منطقه جغرافیایی و شبکه جاده‌ای بسیار وسیع‌تری را نسبت به یک ایزوکرون پیاده‌روی یک ساعته پوشش می‌دهد که منجر به تأخیر بیشتر برای درخواست رانندگی می‌شود.

نقاط مبدا و نقشه برداری جاده ای

شما می‌توانید نقطه شروع برای ایزوکرون را به دو روش مشخص کنید:

  • مختصات: یک جفت طول و عرض جغرافیایی ( location ).
  • شناسه‌های مکان: یک شناسه منحصر به فرد برای یک مکان خاص در نقشه‌های گوگل ( place ). وقتی شناسه مکان را ارائه می‌دهید، سرویس از مرکز ثقل آن مکان به عنوان نقطه مبدا استفاده می‌کند. توجه داشته باشید که API انتظار دارد قالب نام منبع، مانند places/ChIJ... باشد. برای اطلاعات بیشتر در مورد شناسه‌های مکان، به شناسه‌های مکان مراجعه کنید.

صرف نظر از روش ورودی، اگر نقطه فیزیکی مورد نظر در جاده نباشد، مثلاً داخل یک پارک یا ساختمان، API زمان سفر را از آن نقطه محاسبه نمی‌کند. برای مدیریت این وضعیت، این سرویس از road snapping استفاده می‌کند. road snapping دارای ویژگی‌های زیر است:

  • ثبت هوشمند: این سرویس تلاش می‌کند تا نقطه مبدا شما را به نزدیکترین بخش جاده‌ای قابل پیمایش، ثبت کند.
  • آگاهی از حالت: منطق snapping، travel_mode شما را در نظر می‌گیرد. اگر DRIVE را درخواست کنید، API مسیرهای مخصوص عابر پیاده را نادیده می‌گیرد و به دنبال نزدیکترین خیابان قابل رانندگی می‌گردد. اگر WALK درخواست کنید، API مسیرهای قابل پیاده‌روی و پیاده‌روها را در اولویت قرار می‌دهد.
  • موارد شکست: اگر API نتواند یک بخش جاده‌ای مناسب را در فاصله تقریباً ۱۰۰ متری از نقطه مبدا شما پیدا کند، خطای 404 NOT_FOUND را برمی‌گرداند. این معمولاً نشان می‌دهد که نقطه مورد نظر خیلی از شبکه جاده‌ای دور است یا در منطقه‌ای قرار دارد که داده‌های نقشه از حالت سفر درخواستی پشتیبانی نمی‌کنند.

آگاهی از ترافیک

با استفاده از پارامتر routing_preference نحوه‌ی تأثیر داده‌های ترافیک بر چندضلعی تولید شده را کنترل کنید:

  • TRAFFIC_UNAWARE (پیش‌فرض): از محدودیت‌های سرعت و سلسله مراتب جاده برای تولید چندضلعی ایزوکرون استفاده می‌کند. این یک شکل قطعی تولید می‌کند که بر اساس زمان روز نوسان نمی‌کند. این پارامتر برای تحلیل کلی یا برنامه‌ریزی سناریوی پایه ایده‌آل است.
  • TRAFFIC_AWARE : با استفاده از شرایط ترافیکی زنده یا پیش‌بینی‌شده در زمان درخواست، ایزوکرون‌ها را محاسبه می‌کند و باعث می‌شود منطقه قابل دسترسی در ساعات شلوغی کوچک و در ساعات غیر اوج ترافیک گسترش یابد.

روان بودن و وفاداری

شما می‌توانید ظاهر و دقت چندضلعی‌های خروجی را با استفاده از پارامترهای polygon_fidelity و enable_smoothing سفارشی کنید. اگرچه این گزینه‌ها مستقل هستند، اما برای تعیین شکل نهایی با هم کار می‌کنند.

  • polygon_fidelity : اندازه سلول‌های شبکه زیرین مورد استفاده برای محاسبه مساحت قابل دسترسی را کنترل می‌کند.

    • LOW : از سلول‌های شبکه‌ای بزرگتر استفاده می‌کند. بهترین گزینه برای پوشش مناطق بزرگ بدون شکاف، که منجر به یک شکل کلی می‌شود.
    • MEDIUM : دقت متعادل.
    • HIGH : از سلول‌های شبکه‌ای کوچک‌تر استفاده می‌کند. منجر به تطابق بیشتر با شبکه جاده می‌شود، اما اگر شبکه جاده پراکنده باشد، می‌تواند نواحی خالی یا چاله ایجاد کند.
    • POLYGON_FIDELITY_UNSPECIFIED : اگر مشخص نشده باشد، سرویس به صورت پویا بر اساس مدت زمان سفر درخواستی، میزان وفاداری را انتخاب می‌کند.
      دقت چندضلعی بالا، متوسط ​​و پایین
      دقت چندضلعی بالا، متوسط ​​و پایین
  • enable_smoothing : کنترل می‌کند که آیا لبه‌های تیز سلول‌های شبکه که توسط fidelity تعریف شده‌اند، گرد شده‌اند یا خیر.

    • false (خام): پیش‌فرض. محاسبه هندسی دقیق را برمی‌گرداند. لبه‌ها ناهموار یا پله‌ای به نظر می‌رسند. برای دقت تحلیلی، مانند تست‌های دقیق نقطه در چندضلعی، بهترین گزینه است. تأخیر کمتر از حالت هموار.
    • true (هموار شده): یک الگوریتم پس پردازش برای گرد کردن گوشه‌ها اعمال می‌کند. بهترین گزینه برای نمایش بصری روی نقشه‌ها.
      ایزوکرون با صاف کردن و بدون آن
      ایزوکرون با صاف کردن و بدون آن