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

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

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

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

  • قالب پاسخ JSON برای API جستجوی متن (جدید) از قالب 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 از جستجوی متن موجود استفاده می کند. در این مثال، شما یک پاسخ 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'