زمین‌کدیابی با دقت بهبودیافته

توسعه‌دهندگان منطقه اقتصادی اروپا (EEA)

روش‌های GeocodeAddress و SearchDestinations از پارامتر اختیاری effort پشتیبانی می‌کنند که به شما امکان می‌دهد موازنه بین تأخیر پاسخ و دقت وضوح نشانی را کنترل کنید.

درحالی‌که زمین‌کدیابی استاندارد نشانی‌های پستی با قالب‌بندی مناسب را با تأخیر کمتر از ثانیه مدیریت می‌کند، ورودی‌های دنیای واقعی اغلب ناقص، غیررسمی، یا پیچیده هستند (برای مثال، "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai" یا "where the warriors play, sf"). با پیکربندی سطح effort بالاتر، می‌توانید به Geocoding API دستور دهید تا استدلال گسترده و ابهام‌زدایی را برای حل نشانی‌های دشوار اعمال کند.

سطوح تلاش

یکی از مقادیر زیر را برای پارامتر effort مشخص کنید:

سطح تلاش شرح تأخیر معمول موارد استفاده توصیه‌شده
EFFORT_UNSPECIFIED مقدار پیش‌فرض. همانند تلاش LOW عمل می‌کند. زیرثانیه زمین‌کدیابی استاندارد پیش‌فرض.
LOW برای سریع‌ترین زمان پاسخ بهینه‌سازی شده است. برای نشانی‌های دشوار، جستجوی گسترده یا ابهام‌زدایی انجام نمی‌دهد. زیرثانیه جستجوی تعاملی هم‌زمان، اعتبارسنجی نشانی استاندارد با حجم بالا.
MEDIUM سرعت و دقت را متعادل می‌کند. اکثر درخواست‌ها با تأخیر کم استاندارد برمی‌گردند. برای نشانی‌های مبهم یا دشوار، این سرویس پردازش بیشتری را برای بهبود دقت اعمال می‌کند که ممکن است تا چند ثانیه طول بکشد. کمتر از یک ثانیه برای نشانی‌های استاندارد؛ تا چند ثانیه (کمتر از ۴ ثانیه) برای نشانی‌های مبهم گردش کار تعاملی کاربر (مانند تأیید نشانی در تسویه‌حساب) که در آن کاربران می‌توانند مکث کوتاهی را تحمل کنند.
HIGH دقت وضوح نشانی را برای نشانی‌های ناقص، غیررسمی، یا پیچیده به حداکثر می‌رساند. زمان پاسخ‌دهی ممکن است به‌طور قابل‌توجهی طولانی‌تر باشد. حداکثر ۲۰ ثانیه برای نشانی‌های پیچیده پردازش پس‌زمینه، زمین‌کدیابی گروهی، اعزام لجستیک، یا پالایش نشانی پس‌از تسویه‌حساب ناهمگام.

نمونه‌های درخواست

جستجوی مقصد (SearchDestinations)

فیلد effort را در بدنه درخواست JSON درخواست POST خود به https://geocode.googleapis.com/v4alpha/geocode/destinations اضافه کنید. پارامتر effort عمدتاً بر وضوح addressQuery تأثیر می‌گذارد:

curl -X POST -d '{
  "addressQuery": {
    "addressQuery": "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai"
  },
  "effort": "HIGH"
}' \
-H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4alpha/geocode/destinations

زمین‌کدیابی نشانی (GeocodeAddress)

پارامتر effort را به‌عنوان پارامتر پُرسمان نشانی وب در درخواست GET به نقطه پایان /v4alpha/ ارسال کنید:

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
"https://geocode.googleapis.com/v4alpha/geocode/address/where+the+warriors+play,+sf?effort=MEDIUM"

کاهش تأثیر تأخیر

هنگام استفاده از تلاش MEDIUM یا HIGH در برنامه‌تان، ارسال درخواست تک‌گذری ساده‌ترین ادغام است، اما درخواست‌ها در این حالت‌ها می‌توانند تأخیر بیشتری ایجاد کنند که می‌تواند گردش‌های کاری همگام، سَمت کاربر، و حساس به تأخیر را به‌تأخیر بیندازد.

برای کاهش تأثیر این تأخیر بر جریان‌های تعاملی کاربر (مانند تسویه‌حساب یا رزرو)، می‌توانید از گردش کار چندمرحله‌ای استفاده کنید:

  1. گذر ۱ (تعاملی): درخواست همگامی با effort=LOW (یا پیش‌فرض) ارسال کنید تا نشانی فوراً با تأخیر زیرثانیه اعتبارسنجی شود.
  2. گذر ۲ (پس‌زمینه): ارسال درخواست پیگیری ناهمگام با effort=MEDIUM یا effort=HIGH (برای مثال، پس‌از تسویه‌حساب یا قبل‌از ارسال) برای تبدیل نشانی‌های پیچیده به مختصات، ورودی‌ها، و نقاط ناوبری با دقت بالا بدون مسدود کردن کاربر.

حدود استفاده

درطول مرحله راه‌اندازی «آزمایشی» (v4alpha)، درخواست‌هایی که effort آن‌ها روی MEDIUM یا HIGH تنظیم شده باشد مشمول محدودیت‌های نرخ سخت‌گیرانه‌تری نسبت‌به درخواست‌های استاندارد (LOW) می‌شوند. اگر برنامه شما از این حدود نرخ فراتر رود، API خطای RESOURCE_EXHAUSTED (HTTP 429) را برمی‌گرداند. اگر با خطاهای HTTP 429 مواجه شدید یا برای مورد استفاده‌تان به سهمیه بالاتری نیاز دارید، ازطریق کانال بازخورد با ما تماس بگیرید.

بازخورد

این ویژگی آزمایشی Geocoding API است. از بازخورد شما در geocoding-feedback-channel@google.com قدردانی می‌کنیم.