مهاجرت به جستجوی متن (جدید)

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

  • جستجوی متن (جدید) از درخواست‌های HTTP POST استفاده می‌کند. پارامترها را در بدنه درخواست یا در هدرها به عنوان بخشی از درخواست HTTP POST ارسال کنید. در مقابل، با جستجوی متن (Legacy)، پارامترهای URL را با استفاده از درخواست HTTP GET ارسال می کنید.
  • پوشاندن میدان مورد نیاز است. شما باید مشخص کنید که کدام فیلدها را می خواهید در پاسخ بازگردانید. هیچ لیست پیش فرضی از فیلدهای برگشتی وجود ندارد. اگر این لیست را حذف کنید، متدها با خطا مواجه می شوند. برای اطلاعات بیشتر، FieldMask را ببینید.
  • جستجوی متن (جدید) از کلیدهای API و نشانه‌های OAuth به عنوان مکانیزم احراز هویت پشتیبانی می‌کند.
  • فقط JSON به عنوان قالب پاسخ در جستجوی متن جدید پشتیبانی می شود.
  • جستجوی متن (Legacy) به شما امکان می دهد مختصات طول و عرض جغرافیایی را در رشته درخواست مشخص کنید. به عنوان مثال: query=37.4239,-122.0925 . این گزینه در جستجوی متن (جدید) پشتیبانی نمی شود.

    از Reverse Geocoding برای جستجوی مختصات و بازگرداندن یک آدرس یا از جستجوی نزدیک (جدید) برای یافتن مکان‌ها در اطراف یک مکان خاص استفاده کنید.

  • قالب پاسخ JSON برای جستجوی متن (جدید) از قالب APIهای قدیمی تغییر کرده است. برای جزئیات بیشتر، به انتقال پاسخ API Places مراجعه کنید.

جدول زیر پارامترهایی را در جستجوی متن (میراث) که برای جستجوی متن (جدید) تغییر نام داده یا تغییر یافته اند، یا پارامترهایی که دیگر پشتیبانی نمی شوند، فهرست می کند.

پارامتر فعلی پارامتر جدید یادداشت ها
evOptions پارامتر جدید
language languageCode
location locationBias
maxprice/minprice priceLevels
opennow openNow
pagetoken pageToken
query textQuery در تمام درخواست ها الزامی است.
radius locationBias هنگام تعریف locationBias شعاع را مشخص کنید.
region regionCode
type includedType فقط یک مقدار واحد می گیرد.
strictTypeFiltering پارامتر جدید

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

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

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/textsearch/json?query=Spicy%20Vegetarian%20Food%20in%20Sydney%20Australia&key=API_KEY

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

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-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:searchText'