- طلب HTTP
- نص الطلب
- نص الاستجابة
- نطاقات الأذونات
- RankPreference
- LocationBias
- LocationRestriction
- EVOptions
- SearchAlongRouteParameters
- متعدد الخطوط
- ContextualContent
- سبب التعديل
- ReviewJustification
- HighlightedText
- HighlightedTextRange
- BusinessAvailabilityAttributesJustification
البحث عن أماكن استنادًا إلى طلب بحث نصي
طلب HTTP
POST https://places.googleapis.com/v1/places:searchText
يستخدِم عنوان URL بنية تحويل الترميز إلى gRPC.
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "rankPreference": enum ( |
| الحقول | |
|---|---|
textQuery |
الحقل مطلوب. طلب البحث النصي للبحث النصي |
languageCode |
سيتم عرض تفاصيل المكان باللغة المفضَّلة إذا كانت متاحة. إذا لم يتم تحديد رمز اللغة أو لم يتم التعرّف عليه، قد يتم عرض تفاصيل أي لغة، مع تفضيل اللغة الإنجليزية إذا كانت هذه التفاصيل متوفرة. قائمة اللغات المتاحة حاليًا: https://developers.google.com/maps/faq#languagesupport. |
regionCode |
رمز Unicode للبلد/المنطقة (CLDR) الخاص بالموقع الجغرافي الذي يأتي منه الطلب تُستخدَم هذه المَعلمة لعرض تفاصيل المكان، مثل اسم المكان الخاص بالمنطقة، إذا كان متاحًا. يمكن أن تؤثّر المَعلمة في النتائج استنادًا إلى القانون الساري. لمزيد من المعلومات، يُرجى الاطّلاع على https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. يُرجى العِلم أنّ رموز المناطق المكوّنة من 3 أرقام غير متاحة حاليًا. |
rankPreference |
كيفية ترتيب النتائج في الردّ |
includedType |
تمثّل هذه السمة نوع المكان المطلوب. قائمة كاملة بالأنواع المتوافقة: https://developers.google.com/maps/documentation/places/web-service/place-types يجب أن يتضمّن نوعًا واحدًا فقط. |
openNow |
يُستخدَم هذا الفلتر لحصر البحث على الأماكن المفتوحة حاليًا. القيمة التلقائية هي "خطأ". |
minRating |
استبعاد النتائج التي يقل متوسط تقييم المستخدمين لها عن هذا الحدّ. يجب أن تكون القيمة الصالحة عددًا عائمًا بين 0 و5 (بما في ذلك هذين الرقمَين) بمعدل 0.5، أي [0, 0.5, 1.0, ... , 5.0] بما في ذلك هذين الرقمَين. سيتم تقريب التقييم المُدخَل إلى أقرب 0.5(السقف). على سبيل المثال، سيؤدي التقييم 0.6 إلى إزالة جميع النتائج التي تقلّ عن 1.0. |
maxResultCount |
تم إيقافها نهائيًا: يُرجى استخدام الحدّ الأقصى لعدد النتائج التي يمكن عرضها في الصفحة الواحدة. إذا كان عدد النتائج المتاحة أكبر من في حال تحديد كل من |
pageSize |
اختياريّ. الحدّ الأقصى لعدد النتائج التي يمكن عرضها في الصفحة الواحدة. إذا كان عدد النتائج المتاحة أكبر من في حال تحديد كل من |
pageToken |
اختياريّ. رمز مميّز للصفحة تم استلامه من طلب TextSearch سابق. يجب تقديم هذا الرمز لاسترداد الصفحة التالية. عند إجراء التقسيم على صفحات، يجب أن تتطابق جميع المَعلمات الأخرى غير |
priceLevels[] |
تُستخدَم لحصر البحث في الأماكن التي تم تصنيفها على أنّها ضمن مستويات أسعار معيّنة. يمكن للمستخدمين اختيار أي مجموعة من مستويات الأسعار. يتم تلقائيًا اختيار جميع مستويات الأسعار. |
strictTypeFiltering |
تُستخدَم لضبط فلترة صارمة للنوع في includedType. إذا تم ضبطها على "صحيح"، لن يتم عرض سوى نتائج من النوع نفسه. القيمة التلقائية هي "خطأ". |
locationBias |
تمثّل هذه السمة المنطقة المطلوب البحث فيها. يعمل هذا الموقع الجغرافي كعامل تحيّز، ما يعني أنّه قد يتم عرض نتائج حول الموقع الجغرافي المحدّد. لا يمكن ضبطها مع locationRestriction. |
locationRestriction |
تمثّل هذه السمة المنطقة المطلوب البحث فيها. يعمل هذا الموقع الجغرافي كقيد، ما يعني أنّه لن يتم عرض نتائج خارج الموقع الجغرافي المحدّد. لا يمكن ضبطها مع locationBias. |
evOptions |
اختياريّ. تحديد خيارات المركبات الكهربائية القابلة للبحث في طلب البحث عن مكان |
routingParameters |
اختياريّ. مَعلمات إضافية لتوجيه المستخدم إلى النتائج. |
searchAlongRouteParameters |
اختياريّ. نموذج أولي للمَعلمات الإضافية للبحث على طول مسار |
includePureServiceAreaBusinesses |
اختياريّ. أدرِج الأنشطة التجارية القاصرة على منطقة الخدمة إذا تم ضبط الحقل على "صحيح". المؤسسة ضمن منطقة الخدمة هي مؤسسة تقدّم خدماتها من خلال الانتقال إلى المواقع الجغرافية للعملاء أو توصيل الخدمة إليهم مباشرةً، ولكنّها لا تقدّم خدماتها لهم في عنوانها. على سبيل المثال، خدمات التنظيف أو السباكة ولا تتضمّن هذه الأنشطة التجارية عنوانًا أو موقعًا جغرافيًا على "خرائط Google". لن تعرض خدمة "أماكن" حقولاً تتضمّن |
includeFutureOpeningBusinesses |
اختياريّ. إذا كانت القيمة صحيحة، يجب تضمين الأنشطة التجارية التي لم يتم افتتاحها بعد ولكن سيتم افتتاحها في المستقبل. |
نص الاستجابة
بروتوكول الاستجابة الخاص بـ places.searchText
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "places": [ { object ( |
| الحقول | |
|---|---|
places[] |
قائمة بالأماكن التي تستوفي معايير البحث النصي للمستخدم |
routingSummaries[] |
قائمة بملخّصات التوجيه، حيث يرتبط كل إدخال بالمكان المقابل له في الفهرس نفسه في الحقل |
contextualContents[] |
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل. قائمة بالمحتويات السياقية التي يرتبط كل إدخال فيها بالمكان المقابل في الفهرس نفسه في حقل الأماكن يُفضّل استخدام المحتوى ذي الصلة |
nextPageToken |
رمز مميز يمكن إرساله كـ |
searchUri |
يتيح الرابط للمستخدم البحث باستخدام طلب البحث النصي نفسه المحدّد في الطلب على "خرائط Google". |
نطاقات الأذونات
يجب توفير نطاق OAuth التالي:
https://www.googleapis.com/auth/cloud-platform
RankPreference
كيفية ترتيب النتائج في الردّ
| عمليات التعداد | |
|---|---|
RANK_PREFERENCE_UNSPECIFIED |
بالنسبة إلى طلب بحث مصنّف مثل "مطاعم في مدينة نيويورك"، تكون "الملاءمة" هي الإعداد التلقائي. بالنسبة إلى طلبات البحث غير الفئوية، مثل "ماونتن فيو، كاليفورنيا"، ننصحك بعدم ضبط rankPreference. |
DISTANCE |
ترتيب النتائج حسب المسافة |
RELEVANCE |
ترتيب النتائج حسب مدى صلتها بموضوع البحث يتم تحديد ترتيب الفرز حسب حزمة الترتيب العادية. |
LocationBias
تمثّل هذه السمة المنطقة المطلوب البحث فيها. يعمل هذا الموقع الجغرافي كعامل تحيّز، ما يعني أنّه قد يتم عرض نتائج حول الموقع الجغرافي المحدّد.
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الربط يمكن أن يكون التعليق |
|
rectangle |
مربّع مستطيل الشكل محدّد بالزاوية الشمالية الشرقية والزاوية الجنوبية الغربية يجب أن تكون |
circle |
دائرة محدّدة بنقطة مركز ونصف قطر |
LocationRestriction
تمثّل هذه السمة المنطقة المطلوب البحث فيها. يعمل هذا الموقع الجغرافي كقيد، ما يعني أنّه لن يتم عرض نتائج خارج الموقع الجغرافي المحدّد.
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الربط يمكن أن يكون التعليق |
|
rectangle |
مربّع مستطيل الشكل محدّد بالزاوية الشمالية الشرقية والزاوية الجنوبية الغربية يجب أن تكون |
EVOptions
خيارات المركبات الكهربائية القابلة للبحث في طلب البحث عن مكان
| تمثيل JSON |
|---|
{
"minimumChargingRateKw": number,
"connectorTypes": [
enum ( |
| الحقول | |
|---|---|
minimumChargingRateKw |
اختياريّ. الحدّ الأدنى لمعدّل الشحن المطلوب بالكيلوواط يتم استبعاد الأماكن التي تكون فيها تكلفة الشحن أقل من التكلفة المحدّدة. |
connectorTypes[] |
اختياريّ. تمثّل هذه السمة قائمة بأنواع وصلات المركبات الكهربائية المفضّلة. يتم استبعاد أي مكان لا يتوافق مع أي من أنواع أدوات الربط المُدرَجة. |
SearchAlongRouteParameters
تحدّد هذه السمة خطًا متعدد الأضلاع تم حسابه مسبقًا من Routes API، ويحدّد المسار المطلوب البحث عنه. يشبه البحث على طول مسار استخدام خيار الطلب locationBias أو locationRestriction لتفضيل نتائج البحث. في المقابل، يتيح لك هذا الخيار تحديد مسار رحلة لتوجيه نتائج البحث، بينما يتيح لك الخياران locationBias وlocationRestriction تحديد منطقة لتوجيه نتائج البحث.
ليس هناك ما يضمن ظهور النتائج على طول المسار المقدَّم، بل يتم ترتيبها ضمن منطقة البحث المحدّدة بواسطة الخط المتعدد، ويمكن أيضًا ترتيبها حسب locationBias أو locationRestriction استنادًا إلى الحد الأدنى من أوقات التحويلات عن المسار من نقطة الانطلاق إلى الوجهة. قد تكون النتائج على طول مسار بديل، خاصةً إذا لم يحدّد الخط المتعدد الأضلاع المقدَّم مسارًا مثاليًا من نقطة البداية إلى الوجهة.
| تمثيل JSON |
|---|
{
"polyline": {
object ( |
| الحقول | |
|---|---|
polyline |
الحقل مطلوب. الخطوط المتعددة للمسار |
خط متعدد
خطوط متعددة للمسار تتوافق هذه السمة مع خطوط متعددة الأضلاع مشفّرة فقط، ويمكن تمريرها كسلسلة وتتضمّن ضغطًا مع الحدّ الأدنى من فقدان البيانات. هذا هو الناتج التلقائي لواجهة Routes API.
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الربط polyline_type تضم هذه السمة نوع الخط المتعدد. يكون الناتج التلقائي لواجهة Routes API هو encoded_polyline. يمكن أن يكون التعليق polyline_type إحدى القيم التالية فقط: |
|
encodedPolyline |
خط متعدّد الأضلاع مشفّر، كما تعرضه Routes API تلقائيًا اطّلِع على أداتَي الترميز وفك الترميز. |
ContextualContent
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل.
المحتوى ذو الصلة بطلب البحث عن المكان
| تمثيل JSON |
|---|
{ "reviews": [ { object ( |
| الحقول | |
|---|---|
reviews[] |
قائمة بالمراجعات حول هذا المكان، وهي مراجعات سياقية ذات صلة بطلب البحث عن المكان |
photos[] |
معلومات (بما في ذلك المراجع) حول صور هذا المكان، وهي معلومات سياقية ذات صلة بطلب البحث عن المكان |
justifications[] |
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل. مستندات إثبات ملكية المكان |
التبرير
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل.
مستندات إثبات ملكية المكان تقدّم التبريرات إجابة عن السؤال حول سبب إمكانية أن يهمّ مكان معيّن مستخدمًا نهائيًا.
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الربط يمكن أن يكون التعليق |
|
reviewJustification |
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل. |
businessAvailabilityAttributesJustification |
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل. |
ReviewJustification
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل.
أسباب مراجعات المستخدمين تُبرز هذه السمة جزءًا من مراجعة المستخدم قد يهمّ المستخدم النهائي. على سبيل المثال، إذا كان طلب البحث هو "بيتزا مطبوخة على الحطب"، ستبرز مسوّغات المراجعة النص ذا الصلة بطلب البحث.
| تمثيل JSON |
|---|
{ "highlightedText": { object ( |
| الحقول | |
|---|---|
highlightedText |
|
review |
تمثّل هذه السمة المراجعة التي تم إنشاء النص المميّز منها. |
HighlightedText
النص الذي تم تمييزه بسبب الضبط هذا جزء من المراجعة نفسها. يتم تحديد الكلمة المطلوب تمييزها باستخدام HighlightedTextRange. قد يتضمّن النص الذي يتم تمييزه عدة كلمات.
| تمثيل JSON |
|---|
{
"text": string,
"highlightedTextRanges": [
{
object ( |
| الحقول | |
|---|---|
text |
|
highlightedTextRanges[] |
قائمة بنطاقات النص المميَّز |
HighlightedTextRange
نطاق النص المميّز
| تمثيل JSON |
|---|
{ "startIndex": integer, "endIndex": integer } |
| الحقول | |
|---|---|
startIndex |
|
endIndex |
|
BusinessAvailabilityAttributesJustification
تجريبية: يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative لمزيد من التفاصيل. أسباب BusinessAvailabilityAttributes تعرض هذه السمة بعض السمات التي يتضمّنها النشاط التجاري والتي قد تهمّ المستخدم النهائي.
| تمثيل JSON |
|---|
{ "takeout": boolean, "delivery": boolean, "dineIn": boolean } |
| الحقول | |
|---|---|
takeout |
تُستخدَم لتحديد ما إذا كان المكان يقدّم طعامًا سفريًا. |
delivery |
تُستخدَم لتحديد ما إذا كان المكان يقدّم خدمة توصيل الطلبات. |
dineIn |
تُستخدَم لتحديد ما إذا كان المكان يوفّر خدمة الجلوس في المطعم. |