Method: geocode.destinations.searchDestinations

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

درخواست HTTP

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

نشانی وب از نحو تراتبدیل 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. پرسمان برای مقصد اصلی. این می‌تواند یک مکان، یک نشانی کاملاً مشخص، یا یک مکان LatLng باشد. برخی‌از مکان‌ها و نشانی‌ها با اطلاعات حداقلی نمی‌توانند به مقصد تبدیل شوند.

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

توجه: فقط مکان‌ها و نشانی‌هایی که می‌توانند مقصد ناوبری داشته باشند پشتیبانی می‌شوند. برای مثال، مکانی که نشان‌دهنده خانه یا مجتمع آپارتمانی است می‌تواند به‌عنوان پُرسمان اصلی استفاده شود، اما مکان‌هایی که نشان‌دهنده محله یا منطقه اداری است نمی‌تواند به‌عنوان پُرسمان اصلی استفاده شود. ‫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)

مکان 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

نمایشی از مکان در «میانای برنامه‌سازی کاربردی مکان‌ها» را نشان می‌دهد. همچنین اطلاعات بیشتری را که مختص مقصدها است، مانند نوع ساختار و چندضلعی نمایش، ارائه می‌دهد.

در برخی موارد، PlaceView با شناسه مکان یکسان ممکن است با آنچه «میانای برنامه‌سازی کاربردی Places» برای فیلدهای 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

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

برای جزئیات بیشتر، 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 ممکن است دسترسی به مکان اصلی را فراهم کند.