انتقال به «جستجوی اطراف» (جدید)

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

مقدمه

Places API از جستجوی اطراف (قدیمی) پشتیبانی می‌کند. اگر با «جستجوی اطراف» (قدیمی) آشنا هستید، «جستجوی اطراف» (جدید) تغییرات زیر را ایجاد می‌کند:

  • «جستجوی اطراف (جدید)» از درخواست‌های HTTP POST استفاده می‌کند. پارامترها را در بدنه درخواست یا در سرصفحه‌ها به‌عنوان بخشی از درخواست HTTP POST ارسال کنید. درمقابل، با Nearby Search (Legacy)، پارامترهای نشانی وب را بااستفاده از درخواست HTTP GET ارسال می‌کنید.
  • پوشش فیلد الزامی است. باید مشخص کنید که می‌خواهید کدام فیلدها در پاسخ برگردانده شود. فهرست پیش‌فرضی برای فیلدهای برگردانده‌شده وجود ندارد. اگر این فهرست را حذف کنید، روش‌ها خطا برمی‌گردانند. برای اطلاعات بیشتر، به FieldMask مراجعه کنید.
  • «جستجوی اطراف (جدید)» از هر دو کلید میانای برنامه‌سازی کاربردی و کد OAuth به‌عنوان سازوکار اصالت‌سنجی پشتیبانی می‌کند.
  • فقط JSON به‌عنوان قالب پاسخ در «جستجوی اطراف» (جدید) پشتیبانی می‌شود.
  • همه درخواست‌هایی که شامل پُرسمان نوشتاری هستند اکنون باید از جستجوی نوشتار (جدید) استفاده کنند زیرا «جستجوی اطراف» (جدید) از ورودی نوشتاری پشتیبانی نمی‌کند.
  • قالب پاسخ JSON برای «جستجوی اطراف (جدید)» نسبت‌به قالب میاناهای برنامه‌سازی کاربردی قدیمی تغییر کرده است. برای جزئیات بیشتر، انتقال پاسخ Places API را ببینید.

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

پارامتر فعلی پارامتر جدید یادداشت‌ها
keyword پشتیبانی نمی‌شود. درعوض از جستجوی نوشتار (جدید) استفاده کنید.
language languageCode
location locationRestriction الزامی.
maxprice/minprice پشتیبانی نمی‌شود.
maxResultCount پارامتر جدید.
opennow پشتیبانی نمی‌شود.
pagetoken پشتیبانی نمی‌شود.
radius اکنون از locationRestriction استفاده کنید.
rankby rankPreference
regionCode پارامتر جدید.
type includedTypes
excludedTypes
includedPrimaryTypes
excludedPrimaryTypes
پارامترهای جدید همچنین مقادیر چندگانه را می‌پذیرند. میانای برنامه‌سازی کاربردی قدیمی فقط یک مقدار را می‌پذیرد.

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

درخواست GET نمونه زیر از «جستجوی اطراف (قدیمی)» استفاده می‌کند. در این مثال، پاسخ JSON حاوی اطلاعاتی درباره مکان‌های نوع restaurant درخواست می‌کنید و همه پارامترها را به‌عنوان پارامترهای نشانی وب ارسال می‌کنید:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'

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

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
https://places.googleapis.com/v1/places:searchNearby