Method: geocode.destinations.searchDestinations

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

درخواست HTTP

POST https://geocode.googleapis.com/v4beta/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)

مکان دقیق طول و عرض جغرافیایی.

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 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 از «چندضلعی‌ها» پشتیبانی می‌کند، بنابراین یک 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 ممکن است دسترسی به مکان اصلی را فراهم کند.