- طلب 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/maps-platform.places.textsearchhttps://www.googleapis.com/auth/maps-platform.placeshttps://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
المحتوى ذو الصلة بطلب البحث عن المكان
| تمثيل JSON |
|---|
{ "reviews": [ { object ( |
| الحقول | |
|---|---|
reviews[] |
قائمة بالمراجعات حول هذا المكان، وهي مراجعات ذات صلة بطلب البحث عن المكان |
photos[] |
معلومات (بما في ذلك المراجع) حول صور هذا المكان، وهي معلومات سياقية ذات صلة بطلب البحث عن المكان |
justifications[] |
مستندات إثبات ملكية المكان |
التبرير
مستندات إثبات ملكية المكان تقدّم الأسباب إجابة عن السؤال حول سبب اهتمام المستخدم النهائي بمكان معيّن.
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الربط يمكن أن يكون التعليق |
|
reviewJustification |
|
businessAvailabilityAttributesJustification |
|
ReviewJustification
أسباب مراجعات المستخدمين تُبرز هذه السمة جزءًا من مراجعة المستخدم قد يهمّ المستخدم النهائي. على سبيل المثال، إذا كان طلب البحث هو "بيتزا مطبوخة على الحطب"، ستبرز في مبرّر المراجعة النصوص ذات الصلة بطلب البحث.
| تمثيل JSON |
|---|
{ "highlightedText": { object ( |
| الحقول | |
|---|---|
highlightedText |
|
review |
تمثّل هذه السمة المراجعة التي تم إنشاء النص المحدَّد منها. |
HighlightedText
النص الذي تم تمييزه بسبب السبب هذا جزء من المراجعة نفسها. يتم تمييز الكلمة المحدّدة باستخدام HighlightedTextRange. قد يتضمّن النص الذي يتم تمييزه عدة كلمات.
| تمثيل JSON |
|---|
{
"text": string,
"highlightedTextRanges": [
{
object ( |
| الحقول | |
|---|---|
text |
|
highlightedTextRanges[] |
قائمة بنطاقات النص المميّز |
HighlightedTextRange
نطاق النص المميّز
| تمثيل JSON |
|---|
{ "startIndex": integer, "endIndex": integer } |
| الحقول | |
|---|---|
startIndex |
|
endIndex |
|
BusinessAvailabilityAttributesJustification
أسباب BusinessAvailabilityAttributes تعرض هذه السمة بعض السمات التي يتضمّنها النشاط التجاري والتي قد تهمّ المستخدم النهائي.
| تمثيل JSON |
|---|
{ "takeout": boolean, "delivery": boolean, "dineIn": boolean } |
| الحقول | |
|---|---|
takeout |
تُستخدَم لتحديد ما إذا كان المكان يقدّم طعامًا سفريًا. |
delivery |
تُستخدَم لتحديد ما إذا كان المكان يقدّم خدمة توصيل الطلبات. |
dineIn |
تُستخدَم لتحديد ما إذا كان المكان يوفّر خدمة الجلوس في المطعم. |