Places API از Nearby Search (Legacy) پشتیبانی می کند. اگر با Nearby Search (Legacy) آشنا هستید، Nearby Search (جدید) تغییرات زیر را انجام می دهد:
- جستجوی جدید Nearby از درخواستهای HTTP POST استفاده میکند. پارامترها را در بدنه درخواست یا در هدرها به عنوان بخشی از درخواست HTTP POST ارسال کنید. در مقابل، با Nearby Search (Legacy)، پارامترهای URL را با استفاده از درخواست HTTP GET ارسال می کنید.
- پوشاندن میدان مورد نیاز است. شما باید مشخص کنید که کدام فیلدها را می خواهید در پاسخ بازگردانید. هیچ لیست پیش فرضی از فیلدهای برگشتی وجود ندارد. اگر این لیست را حذف کنید، متدها با خطا مواجه می شوند. برای اطلاعات بیشتر، FieldMask را ببینید.
- Nearby Search (جدید) از کلیدهای API و نشانههای OAuth به عنوان مکانیزم احراز هویت پشتیبانی میکند.
- فقط JSON به عنوان قالب پاسخ در جستجوی نزدیک (جدید) پشتیبانی میشود.
- همه درخواستهایی که شامل عبارت جستجوی متنی هستند، اکنون باید از جستجوی متن (جدید) استفاده کنند زیرا جستجوی نزدیک (جدید) از ورودی متن پشتیبانی نمیکند.
- قالب پاسخ JSON برای جستجوی نزدیک (جدید) از قالب APIهای قدیمی تغییر کرده است. برای جزئیات بیشتر، به انتقال پاسخ API Places مراجعه کنید.
جدول زیر پارامترهایی را در Nearby Search (Legacy) که برای جستجوی Nearby (جدید) تغییر نام داده یا اصلاح شدهاند یا پارامترهایی که دیگر پشتیبانی نمیشوند، فهرست میکند.
پارامتر فعلی | پارامتر جدید | یادداشت ها |
---|---|---|
keyword | پشتیبانی نمی شود. به جای آن از جستجوی متن (جدید) استفاده کنید. | |
language | languageCode | |
location | locationRestriction | مورد نیاز. |
maxprice/minprice |
| پشتیبانی نمی شود. |
maxResultCount | پارامتر جدید | |
opennow |
| پشتیبانی نمی شود. |
pagetoken | پشتیبانی نمی شود. | |
radius |
| اکنون از locationRestriction استفاده کنید. |
rankby | rankPreference | |
regionCode | پارامتر جدید | |
type | includedTypes excludedTypes includedPrimaryTypes excludedPrimaryTypes | پارامترهای جدید نیز مقادیر چندگانه را می پذیرند. API قدیمی فقط یک مقدار را می پذیرد. |
درخواست نمونه
مثال زیر درخواست GET از جستجوی نزدیک (میراث) استفاده می کند. در این مثال، شما یک پاسخ JSON حاوی اطلاعاتی درباره مکانهای نوع restaurant
درخواست میکنید و همه پارامترها را به عنوان پارامترهای URL ارسال میکنید:
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 '
با جستجوی Nearby (جدید)، یک درخواست 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