Method: geocode.destinations.searchDestinations

تُجري هذه الطريقة عملية بحث عن وجهة وتعرض قائمة بالوجهات.

طلب HTTP

POST https://geocode.googleapis.com/v4beta/geocode/destinations

يستخدِم عنوان URL بنية تحويل الترميز إلى gRPC.

نص الطلب

يتضمن نص الطلب بيانات بالبنية التالية:

تمثيل JSON
{
  "travelModes": [
    enum (NavigationPoint.TravelMode)
  ],
  "languageCode": string,
  "regionCode": string,

  // Union field primary_query can be only one of the following:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of list of possible types for union field primary_query.
}
الحقول
travelModes[]

enum (NavigationPoint.TravelMode)

اختيارية: تمثّل هذه السمة أوضاع السفر التي تتم فلترة نقاط التنقّل وفقًا لها. يؤثر ذلك في حقل navigationPoints الذي يتم عرضه في الردّ. وفي حال تركها فارغة، يتم عرض نقاط التنقّل لجميع وسائل النقل.

languageCode

string

اختيارية: اللغة التي يجب عرض النتائج بها

regionCode

string

اختيارية: رمز المنطقة رمز المنطقة، ويتم تحديده كقيمة من حرفَين لنطاق المستوى الأعلى الذي يتم ترميزه حسب البلد (ccTLD). تؤثّر المَعلمة في النتائج استنادًا إلى القانون الساري. تؤثر هذه المَعلمة أيضًا في النتائج من الخدمة، ولكنّها لا تفرض قيودًا كاملة عليها.

حقل الربط primary_query طلب البحث عن الوجهة الأساسية ويمكن أن يكون هذا مكانًا أو عنوانًا محدّدًا بالكامل أو موقعًا جغرافيًا يتضمّن خطوط الطول والعرض. لن يكون من الممكن تحويل بعض الأماكن والعناوين التي تتضمّن الحد الأدنى من المعلومات إلى وجهة.

يتم إنشاء الصفحات المقصودة استنادًا إلى طلب البحث الأساسي المحدّد.

ملاحظة: لا تتوفّر هذه الميزة إلا للأماكن والعناوين التي يمكن أن تكون وجهة للملاحة. على سبيل المثال، يمكن استخدام مكان يمثّل منزلاً أو مجمّعًا سكنيًا كطلب البحث الأساسي، ولكن لا يمكن استخدام الأماكن التي تمثّل منطقة محلية أو منطقة إدارية كطلب البحث الأساسي. يمكن أن يكون التعليق primary_query إحدى القيم التالية فقط:

place

string

اسم مصدر المكان، بالتنسيق places/{placeId}

addressQuery

object (SearchDestinationsRequest.AddressQuery)

عنوان شارع

locationQuery

object (SearchDestinationsRequest.LocationQuery)

موقع جغرافي دقيق

نص الاستجابة

رسالة الردّ على DestinationService.SearchDestinations.

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "destinations": [
    {
      object (Destination)
    }
  ]
}
الحقول
destinations[]

object (Destination)

قائمة بالوجهات

تعرض الخدمة نتيجة واحدة إذا كان من الممكن تحديد وجهة أساسية بشكل لا لبس فيه من طلب البحث الأساسي. وفي حال عدم توفّرها، قد تعرض الخدمة نتائج متعددة لإزالة الغموض أو لا تعرض أي نتائج.

نطاقات الأذونات

يجب توفير أحد نطاقات OAuth التالية:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/maps-platform.geocode
  • https://www.googleapis.com/auth/maps-platform.destinations

SearchDestinationsRequest.AddressQuery

تمثّل هذه السمة عنوان الشارع الذي تريد البحث عنه. يجب تحديد العناوين وفقًا للتنسيق الذي تستخدمه خدمة البريد الوطنية في البلد المعني.

تمثيل JSON
{

  // Union field kind can be only one of the following:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of list of possible types for union field kind.
}
الحقول
حقل الربط kind طلب البحث عن العنوان يمكن أن يكون التعليق kind إحدى القيم التالية فقط:
address

object (PostalAddress)

تمثّل هذه السمة عنوان شارع بتنسيق العنوان البريدي.

addressQuery

string

عنوان شارع منسَّق كسطر واحد

SearchDestinationsRequest.LocationQuery

طلب بحث عن موقع جغرافي لتحديد وجهة أساسية قريبة

ملاحظة: إذا كان طلب البحث عن الموقع الجغرافي ضمن مبنى يحتوي على أماكن فرعية، من المحتمل أن يكون المكان الأساسي الذي تم عرضه مكانًا فرعيًا. في هذه الحالات، سيتضمّن الحقل containingPlaces المبنى.

تمثيل JSON
{
  "placeFilter": {
    object (SearchDestinationsRequest.LocationQuery.PlaceFilter)
  },

  // Union field kind can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field kind.
}
الحقول
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

اختيارية: الفلاتر التي سيتم تطبيقها على الوجهات المرشّحة

حقل الربط kind طلب البحث عن الموقع الجغرافي يمكن أن يكون التعليق kind إحدى القيم التالية فقط:
location

object (LatLng)

موقع جغرافي دقيق يحدّده خطّا العرض والطول

SearchDestinationsRequest.LocationQuery.PlaceFilter

الفلاتر التي سيتم تطبيقها على الوجهات المرشّحة

تمثيل JSON
{
  "structureType": enum (PlaceView.StructureType),
  "addressability": enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)
}
الحقول
structureType

enum (PlaceView.StructureType)

اختيارية: في حال تحديد هذا النوع، سيتم ضمان توفّر مكان أساسي من هذا النوع في جميع الوجهات. قد يؤدي ذلك إلى فلترة بعض الوجهات أو تقليل دقة الوجهات المعروضة أو تحسينها.

على سبيل المثال، إذا تم تحديد GROUNDS، ستتضمّن جميع الوجهات التي يتم عرضها مكانًا أساسيًا بنوع البنية GROUNDS. قد يؤدي ذلك إلى فلترة بعض الوجهات التي لا تشكّل جزءًا من الموقع، أو إلى تقريب الوجهات المعروضة إلى مستوى الموقع.

يُستخدم هذا الحقل أيضًا لاستخراج مضلّعات عرض المباني بسهولة أكبر. على سبيل المثال، إذا تم تحديد BUILDING، سيكون المضلّع المعروض للمكان الأساسي هو المبنى في الموقع الجغرافي المحدّد.

addressability

enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)

اختيارية: في حال تحديدها، لا تعرض هذه السمة سوى الوجهات التي تستوفي معايير إمكانية الاستهداف ذات الصلة.

PlaceView.StructureType

تمثّل هذه السمة نوع البنية التي يمثّلها هذا المكان.

عمليات التعداد
STRUCTURE_TYPE_UNSPECIFIED غير مستخدَم
POINT موقع جغرافي محدّد بنقطة
SECTION جزء فرعي من مبنى
BUILDING مبنى
GROUNDS مساحة كبيرة تحتوي عادةً على مبانٍ متعددة، مثل حرم جامعي أو مجمّع سكني أو مركز تسوّق

SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability

تحدّد هذه السمة خيارات فلترة إمكانية الاستهداف. قد تتم إضافة قيم جديدة في المستقبل.

عمليات التعداد
ADDRESSABILITY_UNSPECIFIED في حال عدم تحديدها، ستختار الخدمة قيمة تلقائية مناسبة.
ANY لا يمكن استخدام إمكانية الوصول كمعيار فلترة. يتم عرض الوجهات بغض النظر عن إمكانية استهدافها.
PRIMARY ستتضمّن جميع الوجهات التي يتم عرضها مكانًا أساسيًا يحمل عنوانًا أو اسمًا على مستوى الشارع.
WEAK ستتضمّن جميع الوجهات التي يتم عرضها إما مكانًا أساسيًا أو وجهة فرعية مع عنوان أو اسم على مستوى الشارع.

الوجهة

وجهة ويشمل ذلك المكان الأساسي والأماكن ذات الصلة والمداخل ونقاط التنقّل.

تمثيل JSON
{
  "primary": {
    object (PlaceView)
  },
  "containingPlaces": [
    {
      object (PlaceView)
    }
  ],
  "subDestinations": [
    {
      object (PlaceView)
    }
  ],
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "entrances": [
    {
      object (Entrance)
    }
  ],
  "navigationPoints": [
    {
      object (NavigationPoint)
    }
  ]
}
الحقول
primary

object (PlaceView)

المكان الأساسي الذي يحدّده primary_query في الطلب

containingPlaces[]

object (PlaceView)

الأماكن الأقل دقة التي يقع فيها المكان الأساسي على سبيل المثال، المجمّع السكني الذي يضم هذا المبنى.

subDestinations[]

object (PlaceView)

وجهات فرعية أكثر دقة للمكان الأساسي على سبيل المثال، الوحدات المتضمّنة في مبنى

ملاحظة: بالمقارنة مع SubDestination التي تعرضها Places API، تكون قائمة الوجهات الفرعية هذه أكثر شمولاً، وتحتوي كل وجهة فرعية على المزيد من المعلومات.

landmarks[]

object (Landmark)

المعالم التي يمكن استخدامها للإشارة إلى مكان الوجهة أو المساعدة في الوصول إليها

entrances[]

object (Entrance)

مداخل هذه الوجهة

navigationPoints[]

object (NavigationPoint)

نقاط التنقّل لهذه الوجهة

PlaceView

تمثّل هذه السمة طريقة عرض مكان في Places API. وتوفّر أيضًا معلومات إضافية خاصة بالوجهات، مثل نوع البنية والمضلّع المعروض.

في بعض الحالات، قد يختلف PlaceView الذي يحمل رقم تعريف المكان نفسه عن البيانات التي تعرضها Places API للحقلَين types وdisplayName.

تمثيل JSON
{
  "place": string,
  "placeId": string,
  "displayName": {
    object (LocalizedText)
  },
  "primaryType": string,
  "types": [
    string
  ],
  "formattedAddress": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "structureType": enum (PlaceView.StructureType),
  "location": {
    object (LatLng)
  },
  "displayPolygon": {
    object
  },
  "addressComponents": [
    {
      object (PlaceView.AddressComponent)
    }
  ]
}
الحقول
place

string

اسم المورد الخاص بهذا المكان، بالتنسيق places/{placeId} يمكن استخدامها للبحث عن المكان.

placeId

string

المعرّف الفريد لمكان معيّن

displayName

object (LocalizedText)

وصف المكان الذي يمكن لشخص عادي قراءته على سبيل المثال، "البوابة B" أو "ماكدونالدز"

primaryType

string

تمثّل هذه السمة نوع المكان الأساسي. راجِع https://developers.google.com/maps/documentation/places/web-service/place-types للاطّلاع على قائمة بالقيم المحتملة.

ملاحظة: لا تتم تعبئة هذا الحقل دائمًا. يجب أن تكون مستعدًا لاستخدام الحقل types في مثل هذه الحالات.

types[]

string

جميع أنواع الأماكن المرتبطة بهذا المكان يمكنك الاطّلاع على https://developers.google.com/maps/documentation/places/web-service/place-types للحصول على قائمة بالقيم المحتملة.

formattedAddress

string

عنوان من سطر واحد

postalAddress

object (PostalAddress)

العنوان المنظَّم

structureType

enum (PlaceView.StructureType)

نوع البنية المقابلة لهذا المكان

location

object (LatLng)

الموقع الجغرافي لهذا المكان بالنسبة إلى الأماكن التي تحتوي على مضلّعات عرض، يمكن أن يمثّل ذلك مكانًا جيدًا لوضع علامة على الخريطة.

displayPolygon

object (Struct format)

تمثّل هذه السمة المخطط التفصيلي للمضلّع الخاص بالمكان بتنسيق GeoJSON، باستخدام تنسيق RFC 7946‏: https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6.

ملاحظة: يتيح تنسيق RFC 7946 استخدام MultiPolygons، لذا يمكن أن يمثّل عنصر displayPolygon واحد مضلّعات متعدّدة.

addressComponents[]

object (PlaceView.AddressComponent)

مكوّنات متكرّرة لكل مستوى منطقة

PlaceView.AddressComponent

المكوّنات المنظَّمة التي تشكّل العنوان المنسَّق، إذا كانت هذه المعلومات متاحة

تمثيل JSON
{
  "longText": string,
  "shortText": string,
  "types": [
    string
  ],
  "languageCode": string
}
الحقول
longText

string

تمثّل هذه السمة الوصف النصي الكامل أو اسم مكوّن العنوان. على سبيل المثال، قد يتضمّن أحد مكوّنات العنوان الخاص ببلد أستراليا اسمًا طويلاً هو "أستراليا".

shortText

string

اسم نصي مختصر لمكوّن العنوان، إذا كان متاحًا على سبيل المثال، قد يكون الاسم المختصر لمكوّن العنوان الخاص ببلد أستراليا هو "AU".

types[]

string

مصفوفة تشير إلى أنواع مكوّنات العنوان.

لمزيد من التفاصيل، يُرجى الاطّلاع على https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types.

languageCode

string

اللغة المستخدَمة لتنسيق هذا المكوّن، بتنسيق CLDR

مَعلم

تُستخدَم المعالم للإشارة إلى مكان الوجهة أو المساعدة في الوصول إليها.

تمثيل JSON
{
  "relationalDescription": {
    object (LocalizedText)
  },
  "tags": [
    enum (Landmark.Tag)
  ],
  "straightLineDistanceMeters": number,
  "travelDistanceMeters": number,

  // Union field landmark can be only one of the following:
  "place": {
    object (PlaceView)
  }
  // End of list of possible types for union field landmark.
}
الحقول
relationalDescription

object (LocalizedText)

وصف يمكن لشخص عادي قراءته لكيفية ارتباط الوجهة بالمعلم على سبيل المثال: "بالقرب من مبنى إمباير ستيت" أو "مقابل البيت الأبيض".

tags[]

enum (Landmark.Tag)

علامات تصف كيفية استخدام المعلم في سياق الوجهة.

straightLineDistanceMeters

number

للعرض فقط. المسافة في خط مستقيم من هذا المَعلم إلى الوجهة بالأمتار

travelDistanceMeters

number

للعرض فقط. المسافة سيرًا على الأقدام من هذا المعلم إلى الوجهة بالأمتار

حقل الربط landmark تمثّل هذه السمة المَعلم. يمكن أن يكون التعليق landmark إحدى القيم التالية فقط:
place

object (PlaceView)

تمثّل هذه السمة المكان الذي يقع فيه هذا المعلم.

Landmark.Tag

قائمة بجميع العلامات المحتملة التي تصف كيفية استخدام مَعلم في سياق وجهة معيّنة

إذا كان العنوان يحتوي على علامتَي ADDRESS وARRIVAL، يعني ذلك أنّ المَعلم بارز محليًا وقريب من الوجهة.

عمليات التعداد
TAG_UNSPECIFIED غير مستخدَم
ADDRESS مكان بارز محليًا يمكن استخدامه لتحديد الموقع الجغرافي العام للوجهة عادةً ما تكون على بُعد بضع مئات من الأمتار من الوجهة. وتشبه هذه المعالم تلك التي تعرضها ميزة "أوصاف العناوين" في Geocoding API: https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors.
ARRIVAL مكان يمكن استخدامه للمساعدة في الوصول إلى الوجهة تكون مفيدة للتنقّل عندما تكون قريبًا من الوجهة. على سبيل المثال، قد يكون هذا المعلم مكانًا يقع على الجانب الآخر من الشارع مقابل الوجهة. يكون المَعلم الذي يحمل هذه العلامة أقرب عادةً إلى الوجهة من المعالم التي تحمل العلامة ADDRESS.

المدخل

المدخل هو زوج إحداثيات خط العرض/خط الطول الفردي الذي يحدّد موقع نقطة الدخول والخروج من مكان.

تمثيل JSON
{
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
الحقول
location

object (LatLng)

موقع المدخل

tags[]

enum (Entrance.Tag)

قائمة بالعلامات التي تصف المدخل

place

string

تمثّل هذه السمة المبنى الذي يقع فيه هذا المدخل، بتنسيق places/{placeId}.

Entrance.Tag

الخصائص التي تصف المدخل

عمليات التعداد
TAG_UNSPECIFIED لم يتم الاستخدام.
PREFERRED

من المرجّح أن يوفّر المدخل وصولاً فعليًا إلى المكان الأساسي في الوجهة التي تم عرضها. يمكن أن يكون للمكان عدة مداخل مفضّلة. إذا لم يتضمّن المدخل هذه العلامة، يعني ذلك أنّ المدخل يقع في المبنى نفسه الذي يضمّ المكان الأساسي، ولكنّه لا يوفّر بالضرورة إمكانية الوصول إلى المكان.

على سبيل المثال، إذا كان المكان الأساسي هو مطعم في مركز تسوّق صغير، ستكون المداخل "المفضّلة" هي تلك التي من المرجّح أن تؤدي إلى المطعم نفسه، في حين أنّ المداخل الأخرى التي يتم عرضها ستكون مداخل أخرى للمبنى، مثل المداخل المؤدية إلى مطاعم أخرى في مركز التسوّق الصغير.

إذا كان المكان الأساسي هو مبنى، ستكون مداخل PREFERRED هي تلك التي تؤدي إلى الجزء "الرئيسي" من المبنى. على سبيل المثال، في مركز تسوّق، ستكون مداخل PREFERRED هي تلك التي تتيح الوصول إلى منطقة الردهة الرئيسية، ولكن إذا كان المدخل يتيح الوصول فقط إلى متجر على جانب المبنى، فلن يكون مدخل PREFERRED.

ملاحظة: قد لا يوفّر مدخل PREFERRED إمكانية الوصول إلى المكان الأساسي، وقد يوفّر مدخل غير تابع لـ PREFERRED إمكانية الوصول إلى المكان الأساسي.