تکمیل خودکار (جدید)

سرویس تکمیل خودکار (جدید) یک سرویس وب است که پیش‌بینی‌های مکان و پیش‌بینی‌های پرس و جو را در پاسخ به درخواست HTTP برمی‌گرداند. در درخواست، یک رشته جستجوی متن و مرزهای جغرافیایی که منطقه جستجو را کنترل می کند، مشخص کنید.

سرویس تکمیل خودکار (جدید) می‌تواند با کلمات کامل و زیر رشته‌های ورودی، نام مکان‌ها، آدرس‌ها و کدهای بعلاوه مطابقت داشته باشد. بنابراین، برنامه‌ها می‌توانند پرس‌و‌جوهایی را به‌عنوان نوع کاربر ارسال کنند تا پیش‌بینی‌های مربوط به مکان و پرس و جو را ارائه دهند.

پاسخ از API تکمیل خودکار (جدید) می‌تواند شامل دو نوع پیش‌بینی باشد:

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

به عنوان مثال، شما API را با استفاده از یک رشته ورودی که شامل ورودی جزئی کاربر، "Sicilian piz" است، با ناحیه جستجو محدود به San Francisco، CA می نامید. سپس پاسخ شامل فهرستی از پیش‌بینی‌های مکان است که با رشته جستجو و منطقه جستجو مطابقت دارد، مانند رستورانی به نام «آشپزخانه پیتزا سیسیلی»، همراه با جزئیات مربوط به مکان.

پیش‌بینی‌های مکان بازگشتی به گونه‌ای طراحی شده‌اند که به کاربر ارائه شود تا در انتخاب مکان مورد نظر به او کمک کند. برای دریافت اطلاعات بیشتر در مورد هر یک از پیش‌بینی‌های مکان بازگشتی، می‌توانید درخواست جزئیات مکان (جدید) کنید.

پاسخ همچنین می‌تواند حاوی فهرستی از پیش‌بینی‌های پرس و جو باشد که با رشته جستجو و ناحیه جستجو مطابقت دارند، مانند «پیتزا و پاستا سیسیلی». هر پیش بینی پرس و جو در پاسخ شامل فیلد text است که شامل یک رشته جستجوی متن توصیه شده است. از آن رشته به عنوان ورودی برای جستجوی متن (جدید) برای انجام جستجوی دقیق تر استفاده کنید.

درخواست‌های تکمیل خودکار (جدید).

یک درخواست تکمیل خودکار (جدید) یک درخواست HTTP POST به یک URL به شکل زیر است:

https://places.googleapis.com/v1/places:autocomplete

تمام پارامترها را در بدنه درخواست JSON یا در هدرها به عنوان بخشی از درخواست POST ارسال کنید. مثلا:

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

درخواست با استفاده از تکمیل خودکار (جدید)

Places API از APIهای تکمیل خودکار و تکمیل خودکار پرس و جو پشتیبانی می کند. اگر با این API ها آشنایی دارید، نسخه پیش نمایش تکمیل خودکار (جدید) تغییرات زیر را ایجاد می کند:

  • تکمیل خودکار جدید از درخواست‌های HTTP POST استفاده می‌کند. پارامترها را در بدنه درخواست یا در هدرها به عنوان بخشی از درخواست HTTP POST ارسال کنید. در مقابل، با API های موجود، پارامترهای URL را با استفاده از درخواست HTTP GET ارسال می کنید.
  • تکمیل خودکار جدید از کلیدهای API و نشانه‌های OAuth به عنوان مکانیزم احراز هویت پشتیبانی می‌کند.
  • فقط JSON به عنوان قالب پاسخ در تکمیل خودکار جدید پشتیبانی می‌شود.

جدول زیر پارامترهای موجود در APIهای تکمیل خودکار و تکمیل خودکار Query را که برای تکمیل خودکار جدید تغییر نام داده یا اصلاح شده‌اند، یا پارامترهایی که دیگر پشتیبانی نمی‌شوند، فهرست می‌کند.

پارامتر فعلی پارامتر جدید یادداشت
components includedRegionCodes
language languageCode
location locationBias
ipbias اگر هم locationBias و هم locationRestriction حذف کنید، API به طور پیش‌فرض از بایاس IP استفاده می‌کند.
offset inputOffset
radius locationBias یا locationRestriction
region regionCode
stricbounds locationRestriction
sessiontoken sessionToken
types includedPrimaryTypes

محدودیت های استفاده

در طول انتشار پیش نمایش، شما محدود به ایجاد حداکثر 600 درخواست در دقیقه در هر پروژه هستید.

گزینه های پشتیبانی برای نسخه های پیش نمایش

اگرچه Google هیچ تعهدی برای ارائه پشتیبانی از نسخه‌های پیش‌نمایش، ویژگی‌ها یا عملکرد سرویس‌ها ندارد، ما درخواست‌ها را در این مراحل توسعه به صورت موردی بررسی می‌کنیم.

  • نسخه‌های پیش از انتشار تحت پوشش Google Maps Platform SLA نیستند.
  • استفاده از مکانیزم های بازگشتی توصیه می شود، به خصوص اگر از نسخه پیش از انتشار در محیط تولید استفاده می کنید. برخی از نمونه‌های موقعیت‌های بازگشتی عبارتند از: فراتر از سهمیه، کدهای پاسخ‌های غیرمنتظره و تأخیر، یا پاسخ‌های غیرمنتظره در مقایسه با تکمیل خودکار موجود.

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

برای هر سوال دیگری در مورد ویژگی‌ها، لطفاً یک ایمیل به newplacesapi@google.com ارسال کنید.

در مورد پاسخ

تکمیل خودکار (جدید) یک شی JSON را به عنوان پاسخ برمی‌گرداند. در پاسخ:

  • آرایه suggestions شامل تمام مکان‌ها و پرس و جوهای پیش‌بینی‌شده به ترتیب بر اساس ارتباط درک شده آنهاست. هر مکان با یک فیلد placePrediction و هر پرس و جو با یک قسمت queryPrediction نشان داده می شود.
  • یک قسمت placePrediction حاوی اطلاعات دقیق درباره پیش‌بینی یک مکان، از جمله شناسه مکان و توضیحات متنی است.
  • یک فیلد queryPrediction حاوی اطلاعات دقیق در مورد یک پیش‌بینی پرس و جو است.

شیء کامل JSON به شکل زیر است:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

پارامترهای مورد نیاز

  • ورودی

    رشته متنی که در آن جستجو می شود. کلمات و رشته های فرعی کامل، نام مکان ها، آدرس ها و کدهای بعلاوه را مشخص کنید. سرویس تکمیل خودکار (جدید) منطبقات نامزد را بر اساس این رشته برمی گرداند و نتایج را بر اساس ارتباط درک شده آنها سفارش می دهد.

پارامترهای اختیاری

  • شامل PrimaryTypes

    یک مکان فقط می تواند یک نوع اصلی از انواع جدول A یا جدول B مرتبط با آن داشته باشد. برای مثال، نوع اولیه ممکن است "mexican_restaurant" یا "steak_house" باشد.

    به طور پیش‌فرض، API همه مکان‌ها را بر اساس پارامتر input ، صرف‌نظر از مقدار نوع اولیه مرتبط با مکان، برمی‌گرداند. با عبور دادن پارامتر includedPrimaryTypes ، نتایج را محدود کنید تا از نوع اولیه یا انواع اولیه خاص باشند.

    از این پارامتر برای تعیین حداکثر پنج مقدار نوع از جدول A یا جدول B استفاده کنید. یک مکان باید با یکی از مقادیر نوع اولیه مشخص شده مطابقت داشته باشد تا در پاسخ گنجانده شود.

    درخواست با خطای INVALID_REQUEST رد می شود اگر:

    • بیش از پنج نوع مشخص شده است.
    • انواع ناشناخته مشخص شده است.
  • شامل QueryPredictions

    اگر true ، پاسخ شامل پیش‌بینی مکان و پرس و جو می‌شود. مقدار پیش‌فرض false است، به این معنی که پاسخ فقط شامل پیش‌بینی مکان می‌شود.

  • شامل RegionCodes

    فقط شامل نتایج از لیست مناطق مشخص شده است، که به صورت آرایه ای تا 15 ccTLD ("دامنه سطح بالا") دو نویسه مشخص شده است. در صورت حذف، هیچ محدودیتی برای پاسخ اعمال نمی شود. به عنوان مثال، برای محدود کردن مناطق به آلمان و فرانسه:

        "includedRegionCodes": ["de", "fr"]

    اگر هم locationRestriction و هم includedRegionCodes مشخص کنید، نتایج در ناحیه تقاطع دو تنظیمات قرار می گیرند.

  • ورودی آفست

    افست کاراکتر یونیکد مبتنی بر صفر که موقعیت مکان نما را در input نشان می دهد. موقعیت مکان نما می تواند بر پیش بینی هایی که برگردانده می شوند تأثیر بگذارد. اگر خالی باشد، طول input را پیش‌فرض می‌کند.

  • کد زبان

    زبان ترجیحی که در آن نتایج را برگرداند. اگر زبان مورد استفاده در input با مقدار تعیین شده توسط languageCode متفاوت باشد، یا اگر مکان بازگشتی ترجمه ای از زبان محلی به languageCode نداشته باشد، نتایج ممکن است به زبان های ترکیبی باشد.

    • برای تعیین زبان ترجیحی باید از کدهای زبان IETF BCP-47 استفاده کنید.
    • اگر languageCode ارائه نشده باشد، API از مقدار مشخص شده در هدر Accept-Language استفاده می کند. اگر هیچ کدام مشخص نشده باشد، پیش فرض en است. اگر کد زبان نامعتبر را مشخص کنید، API یک خطای INVALID_ARGUMENT را برمی‌گرداند.
    • زبان ترجیحی تأثیر کمی بر مجموعه نتایجی که API برای برگرداندن آنها انتخاب می‌کند و ترتیب بازگرداندن آنها دارد. این همچنین بر توانایی API برای تصحیح اشتباهات املایی تأثیر می گذارد.
    • API تلاش می کند تا آدرس خیابانی را ارائه دهد که هم برای کاربر و هم برای جمعیت محلی قابل خواندن باشد و در عین حال ورودی کاربر را منعکس کند. پیش‌بینی‌های مکان بسته به ورودی کاربر در هر درخواست، قالب‌بندی متفاوتی دارند.
      • عبارت‌های تطبیق در پارامتر input ابتدا انتخاب می‌شوند، با استفاده از نام‌هایی که با ترجیح زبانی که در صورت موجود بودن توسط پارامتر languageCode مشخص شده‌اند، تراز می‌شوند، در غیر این صورت از نام‌هایی استفاده می‌شود که به بهترین شکل با ورودی کاربر مطابقت دارند.
      • آدرس‌های خیابان به زبان محلی قالب‌بندی می‌شوند، در اسکریپتی که در صورت امکان توسط کاربر قابل خواندن است، تنها پس از انتخاب عبارت‌های منطبق برای مطابقت با عبارت‌های موجود در پارامتر input .
      • همه آدرس‌های دیگر پس از انتخاب عبارت‌های تطبیق برای مطابقت با عبارت‌های موجود در پارامتر input ، به زبان ترجیحی بازگردانده می‌شوند. اگر نامی در زبان ترجیحی موجود نباشد، API از نزدیکترین تطابق استفاده می کند.
  • LocationBias یا LocationRestriction

    شما می توانید locationBias یا locationRestriction را مشخص کنید، اما نه هر دو را، تا ناحیه جستجو را تعریف کنید. به locationRestriction به عنوان مشخص کردن منطقه ای که نتایج باید در آن باشد، و locationBias به عنوان منطقه ای که نتایج باید نزدیک باشد اما می تواند خارج از منطقه باشد، فکر کنید.

    • تعصب موقعیت

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

    • محدودیت مکان

      ناحیه ای را برای جستجو مشخص می کند. نتایج خارج از منطقه مشخص شده برگردانده نمی شوند.

    منطقه locationBias یا locationRestriction را به صورت یک Viewport مستطیلی یا به صورت دایره مشخص کنید.

    • دایره با نقطه مرکزی و شعاع بر حسب متر تعریف می شود. شعاع باید بین 0.0 تا 50000.0 باشد. مقدار پیش فرض 0.0 است. برای locationRestriction ، باید شعاع را روی مقداری بزرگتر از 0.0 تنظیم کنید. در غیر این صورت، درخواست هیچ نتیجه ای بر نمی گرداند.

      مثلا:

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • مستطیل یک نمای عرض-طول جغرافیایی است که به صورت دو نقطه low و بالا به صورت مورب در مقابل هم نمایش داده می شود. یک viewport یک منطقه بسته در نظر گرفته می شود، به این معنی که شامل مرز آن می شود. محدوده عرض جغرافیایی باید بین 90- تا 90 درجه باشد و محدوده طول جغرافیایی باید بین 180- تا 180 درجه باشد:

      • اگر low = high ، نمای از همان نقطه واحد تشکیل شده است.
      • اگر low.longitude > high.longitude , محدوده طول معکوس می شود (نمایش از خط طول جغرافیایی 180 درجه عبور می کند).
      • اگر low.longitude = -180 درجه و high.longitude = 180 درجه باشد، درگاه دید شامل تمام طول‌های جغرافیایی می‌شود.
      • اگر low.longitude = 180 درجه و high.longitude = -180 درجه باشد، محدوده طول جغرافیایی خالی است.

      هم low و هم high باید پر شوند و کادر نمایش داده شده نمی تواند خالی باشد. یک نمای خالی منجر به خطا می شود.

      به عنوان مثال، این نما به طور کامل شهر نیویورک را در بر می گیرد:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • اصل و نسب

    نقطه مبدا که از آن فاصله خط مستقیم تا مقصد محاسبه می شود (به عنوان distanceMeters برگردانده می شود). اگر این مقدار حذف شود، فاصله خط مستقیم برگردانده نخواهد شد. باید به عنوان مختصات طول و عرض جغرافیایی مشخص شود:

    "origin": {
        "latitude": 40.477398,
        "longitude": -74.259087
    }
  • منطقه کد

    کد منطقه ای که برای قالب بندی پاسخ استفاده می شود، به عنوان یک مقدار دو کاراکتری ccTLD ("دامنه سطح بالا") مشخص شده است. اکثر کدهای ccTLD با کدهای ISO 3166-1 یکسان هستند، با برخی استثناهای قابل توجه. برای مثال، ccTLD بریتانیا "uk" (.co.uk) است در حالی که کد ISO 3166-1 آن "gb" است (از لحاظ فنی برای نهاد "پادشاهی متحده بریتانیای کبیر و ایرلند شمالی").

    اگر کد منطقه نامعتبر را مشخص کنید، API یک خطای INVALID_ARGUMENT را برمی‌گرداند. این پارامتر می تواند بر نتایج بر اساس قانون قابل اجرا تأثیر بگذارد.

  • sessionToken

    نشانه‌های جلسه رشته‌هایی هستند که توسط کاربر ایجاد می‌شوند که تماس‌های تکمیل خودکار (جدید) را به‌عنوان «جلسه» دنبال می‌کنند. تکمیل خودکار (جدید) از نشانه‌های جلسه برای گروه‌بندی مراحل پرس و جو و انتخاب جستجوی تکمیل خودکار کاربر در یک جلسه مجزا برای اهداف صورت‌حساب استفاده می‌کند. برای اطلاعات بیشتر، نشانه‌های جلسه را ببینید.

نمونه های تکمیل خودکار (جدید).

از locationRestriction و locationBias استفاده کنید

API به طور پیش فرض از بایاس IP برای کنترل منطقه جستجو استفاده می کند. با بایاس IP، API از آدرس IP دستگاه برای سوگیری نتایج استفاده می کند. می‌توانید به‌صورت اختیاری از locationRestriction یا locationBias استفاده کنید، اما نه از هر دو، برای تعیین منطقه‌ای برای جستجو.

locationRestriction ناحیه مورد جستجو را مشخص می کند. نتایج خارج از منطقه مشخص شده برگردانده نمی شوند. در مثال زیر، از locationRestriction برای محدود کردن درخواست به دایره ای به شعاع 5000 متری در مرکز سانفرانسیسکو استفاده می کنید:

curl -X POST -d '{
  "input": "Amoeba",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

تمام نتایج از داخل مناطق مشخص شده در آرایه suggestions موجود است:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "store",
          "point_of_interest",
          "electronics_store"
        ]
      }
    }
  ]
}

با locationBias ، مکان به عنوان یک سوگیری عمل می کند، به این معنی که نتایج در اطراف مکان مشخص شده، از جمله نتایج خارج از منطقه مشخص شده، قابل بازگشت هستند. در مثال بعدی، درخواست استفاده از locationBias را تغییر می‌دهید:

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

نتایج اکنون حاوی موارد بسیار بیشتری هستند، از جمله نتایج خارج از شعاع 5000 متر:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

از includePrimaryTypes استفاده کنید

از پارامتر includedPrimaryTypes استفاده کنید تا نتایج یک درخواست از نوع خاصی باشد که در جدول A و جدول B فهرست شده است. شما می توانید یک آرایه تا پنج مقدار را مشخص کنید. در صورت حذف، همه انواع برگردانده می شوند.

در مثال زیر، شما یک رشته input از "Soccer" را مشخص می کنید و از پارامتر includedPrimaryTypes برای محدود کردن نتایج به تاسیساتی از نوع "sporting_goods_store" استفاده می کنید:

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

اگر پارامتر includedPrimaryTypes را حذف کنید، نتایج می‌توانند شامل تاسیساتی از نوعی باشد که شما نمی‌خواهید، مانند "athletic_field" .

درخواست پیش بینی پرس و جو

پیش بینی های پرس و جو به طور پیش فرض برگردانده نمی شوند. از پارامتر درخواست includeQueryPredictions برای افزودن پیش‌بینی‌های پرس و جو به پاسخ استفاده کنید. مثلا:

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

آرایه suggestions اکنون شامل پیش‌بینی‌های مکان و پیش‌بینی‌های پرس و جو است که در بالا در درباره پاسخ نشان داده شده است. هر پیش بینی پرس و جو شامل فیلد text حاوی یک رشته جستجوی متن توصیه شده است. برای دریافت اطلاعات بیشتر در مورد هر یک از پیش بینی های پرس و جو برگشتی، می توانید یک درخواست جستجوی متن (جدید) داشته باشید.

از مبدا استفاده کنید

در این مثال، origin در درخواست به عنوان مختصات طول و عرض جغرافیایی درج کنید. هنگامی که origin وارد می‌کنید، API شامل فیلد distanceMeters در پاسخ می‌شود که حاوی فاصله خط مستقیم از origin تا مقصد است. این مثال مبدأ مرکز سانفرانسیسکو را تعیین می کند:

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

اکنون پاسخ شامل distanceMeters می شود:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}