Method: geocode.destinations.searchDestinations

این روش جستجوی مقصد را انجام می‌دهد و فهرستی از مقصدها را برمی‌گرداند.

درخواست HTTP

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

نشانی وب از نحو تراتبدیل gRPC استفاده می‌کند.

متن درخواست

بدنه درخواست حاوی داده‌هایی با ساختار زیر است:

نمایش JSON
{
  "travelModes": [
    enum (NavigationPoint.TravelMode)
  ],
  "languageCode": string,
  "regionCode": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of mutually exclusive fields.
}
فیلدها
travelModes[]

enum (NavigationPoint.TravelMode)

اختیاری. حالت‌های سفر برای فیلتر کردن نقاط پیمایش. این بر فیلد navigationPoints برگردانده‌شده در پاسخ تأثیر می‌گذارد. اگر خالی باشد، نقاط ناوبری همه حالت‌های سفر برگردانده می‌شود.

languageCode

string

اختیاری. زبان نتایجی که باید برگردانده شود.

regionCode

string

اختیاری. کد منطقه. کد منطقه، که به‌عنوان مقدار دو نویسه‌ای ccTLD («دامنه سطح بالا») مشخص شده است. این پارامتر براساس قانون ذی‌ربط بر نتایج تأثیر می‌گذارد. این پارامتر همچنین بر نتایج سرویس تأثیر می‌گذارد، اما آن‌ها را کاملاً محدود نمی‌کند.

پرسمان برای مقصد اصلی. این می‌تواند یک مکان، یک نشانی کاملاً مشخص، یا یک مکان LatLng باشد. برخی‌از مکان‌ها و نشانی‌ها با اطلاعات حداقلی نمی‌توانند به مقصد تبدیل شوند.

مقصدها براساس پُرسمان اصلی مشخص‌شده ساخته می‌شوند.

توجه: فقط مکان‌ها و نشانی‌هایی که می‌توانند مقصد ناوبری داشته باشند پشتیبانی می‌شوند. برای مثال، مکانی که نشان‌دهنده خانه یا مجتمع آپارتمانی است می‌تواند به‌عنوان پُرسمان اصلی استفاده شود، اما مکان‌هایی که نشان‌دهنده محل یا تقسیمات کشوری هستند نمی‌توانند به‌عنوان پُرسمان اصلی استفاده شوند. در زیر فهرستی از فیلدهای متقابلاً انحصاری آمده است. حداکثر یکی از فیلدها در پاسخ تنظیم خواهد شد:

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
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of mutually exclusive fields.
}
فیلدها
پُرسمان نشانی. در زیر فهرستی از فیلدهای متقابلاً انحصاری آمده است. حداکثر یکی از فیلدها در پاسخ تنظیم خواهد شد:
address

object (PostalAddress)

نشانی خیابان در قالب نشانی پستی.

addressQuery

string

نشانی خیابان که به‌صورت یک خط قالب‌بندی شده است.

پایان فیلدهای متقابلاً انحصاری.

SearchDestinationsRequest.LocationQuery

پُرسمان مکان برای شناسایی مقصد اصلی در اطراف.

توجه: اگر پُرسمان مکان در ساختمانی باشد که شامل زیرمکان است، ممکن است مکان اصلی برگردانده‌شده یک زیرمکان باشد. در این موارد، فیلد containingPlaces شامل ساختمان خواهد بود.

نمایش JSON
{
  "placeFilter": {
    object (SearchDestinationsRequest.LocationQuery.PlaceFilter)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "location": {
    object (LatLng)
  }
  // End of mutually exclusive fields.
}
فیلدها
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

اختیاری. فیلترهایی که باید برای مقصدهای احتمالی اعمال شود.

پُرسمان مکان. در زیر فهرستی از فیلدهای متقابلاً انحصاری آمده است. حداکثر یکی از فیلدها در پاسخ تنظیم خواهد شد:
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

نمای Place را در 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)

شرح مکان قابل‌خواندن برای انسان. برای مثال، «دروازه ب»، «مک‌دونالد»

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

آرایه‌ای که نوع(انواع) مؤلفه نشانی را نشان می‌دهد.

این مقادیر از جدول انواع نشانی و انواع مؤلفه نشانی که Places API از آن استفاده می‌کند گرفته شده است: https://developers.google.com/maps/documentation/places/web-service/place-types#address-types

languageCode

string

زبانی که برای قالب‌بندی این مؤلفه استفاده می‌شود، در نماد CLDR.

نشانگر مکانی

از نشانگرهای مکانی برای اطلاع‌رسانی درباره مکان مقصد یا کمک به رسیدن به مقصد استفاده می‌شود.

نمایش JSON
{
  "relationalDescription": {
    object (LocalizedText)
  },
  "tags": [
    enum (Landmark.Tag)
  ],
  "straightLineDistanceMeters": number,
  "travelDistanceMeters": number,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "place": {
    object (PlaceView)
  }
  // End of mutually exclusive fields.
}
فیلدها
relationalDescription

object (LocalizedText)

شرحی قابل‌خواندن برای انسان درباره اینکه مقصد چه ارتباطی با نشانگر مکانی دارد. برای مثال: «نزدیک امپایر استیت» یا «روبه‌روی کاخ سفید».

tags[]

enum (Landmark.Tag)

برچسب‌هایی که نحوه استفاده از مکان دیدنی را در بافت مقصد توصیف می‌کنند.

straightLineDistanceMeters

number

فقط خروجی. فاصله مستقیم از این مکان دیدنی تا مقصد به متر.

travelDistanceMeters

number

فقط خروجی. فاصله پیاده‌روی از این مکان دیدنی تا مقصد به متر.

نشانگر مکانی. در زیر فهرستی از فیلدهای متقابلاً انحصاری آمده است. حداکثر یکی از فیلدها در پاسخ تنظیم خواهد شد:
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
{
  "displayName": {
    object (LocalizedText)
  },
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
فیلدها
displayName

object (LocalizedText)

نام قابل‌خواندن برای انسان، مثلاً «دروازه ب»، «ورودی جنوبی»، «ورودی خیابان پنجم».

location

object (LatLng)

مکان ورودی.

tags[]

enum (Entrance.Tag)

فهرستی از برچسب‌ها که ورودی را توصیف می‌کند.

place

string

ساختاری که این ورودی به‌طور فیزیکی در آن قرار دارد، در قالب places/{placeId}.

Entrance.Tag

مشخصاتی که ورودی را توصیف می‌کند.

شمارشی‌ها
TAG_UNSPECIFIED استفاده‌نشده.
PREFERRED

ورودی احتمالاً دسترسی فیزیکی به مکان اصلی در مقصد برگردانده‌شده را فراهم می‌کند. یک مکان می‌تواند چندین ورودی ترجیحی داشته باشد. اگر ورودی این برچسب را نداشته باشد، به این معنی است که ورودی ازنظر فیزیکی در همان ساختمان مکان اصلی قرار دارد، اما لزوماً دسترسی به مکان را فراهم نمی‌کند.

برای مثال، اگر مکان اصلی رستورانی در یک مرکز خرید خطی باشد، ورودی‌های «ترجیحی» ورودی‌هایی خواهند بود که احتمالاً به خود رستوران منتهی می‌شوند، درحالی‌که سایر ورودی‌های برگردانده‌شده ورودی‌های دیگر ساختمان خواهند بود، مانند ورودی‌های رستوران‌های دیگر در مرکز خرید خطی.

اگر مکان اصلی خود ساختمان باشد، ورودی‌های PREFERRED ورودی‌هایی خواهند بود که به بخش «اصلی» ساختمان منتهی می‌شوند. برای مثال، در یک مرکز خرید، ورودی‌های PREFERRED ورودی‌هایی خواهند بود که امکان دسترسی به محوطه سرسرای اصلی را فراهم می‌کنند، اما اگر ورودی فقط امکان دسترسی به فروشگاهی در کنار ساختمان را فراهم کند، ورودی PREFERRED نخواهد بود.

توجه: ورودی PREFERRED ممکن است دسترسی به مکان اصلی را فراهم نکند و ورودی غیرPREFERRED ممکن است دسترسی به مکان اصلی را فراهم کند.