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'