Method: places.autocomplete

پیش بینی های ورودی داده شده را برمی گرداند.

درخواست HTTP

POST https://places.googleapis.com/v1/places:autocomplete

URL از دستور GRPC Transcoding استفاده می کند.

درخواست بدن

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

نمایندگی JSON
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string
}
فیلدها
input

string

مورد نیاز. رشته متنی که در آن جستجو می شود.

locationBias

object ( LocationBias )

اختیاری. سوگیری منجر به یک مکان مشخص می شود.

حداکثر یکی از locationBias یا locationRestriction باید تنظیم شود. اگر هیچکدام تنظیم نشده باشند، نتایج توسط آدرس IP بایاس می شوند، به این معنی که آدرس IP به یک مکان غیر دقیق نگاشت می شود و به عنوان سیگنال بایاس استفاده می شود.

locationRestriction

object ( LocationRestriction )

اختیاری. نتایج را به یک مکان مشخص محدود کنید.

حداکثر یکی از locationBias یا locationRestriction باید تنظیم شود. اگر هیچکدام تنظیم نشده باشند، نتایج توسط آدرس IP بایاس می شوند، به این معنی که آدرس IP به یک مکان غیر دقیق نگاشت می شود و به عنوان سیگنال بایاس استفاده می شود.

includedPrimaryTypes[]

string

اختیاری. شامل نوع مکان اصلی (به عنوان مثال، "رستوران" یا "پمپ بنزین") در انواع مکان ( https://developers.google.com/maps/documentation/places/web-service/place-types) یا فقط (regions) ، یا فقط (cities) . یک مکان تنها در صورتی برگردانده می شود که نوع اصلی آن در این لیست گنجانده شده باشد. حداکثر 5 مقدار قابل تعیین است. اگر هیچ نوع مشخصی وجود نداشته باشد، همه انواع Place برگردانده می شوند.

includedRegionCodes[]

string

اختیاری. فقط شامل نتایج در مناطق مشخص شده، مشخص شده به عنوان حداکثر 15 کد منطقه دو نویسه CLDR. مجموعه خالی نتایج را محدود نمی کند. اگر هر دو locationRestriction و includedRegionCodes تنظیم شده باشند، نتایج در ناحیه تقاطع قرار خواهند گرفت.

languageCode

string

اختیاری. زبانی که در آن نتایج را برگرداند. پیش‌فرض‌ها به en-US. اگر زبان مورد استفاده در input با languageCode متفاوت باشد یا اگر مکان بازگشتی ترجمه‌ای از زبان محلی به languageCode نداشته باشد، نتایج ممکن است به زبان‌های ترکیبی باشد.

regionCode

string

اختیاری. کد منطقه که به عنوان کد منطقه دو کاراکتری CLDR مشخص شده است. این بر قالب‌بندی آدرس، رتبه‌بندی نتایج تأثیر می‌گذارد و ممکن است بر نتایجی که برگردانده می‌شوند تأثیر بگذارد. این نتایج را به منطقه مشخص شده محدود نمی کند. برای محدود کردن نتایج به یک منطقه، از region_code_restriction استفاده کنید.

origin

object ( LatLng )

اختیاری. نقطه مبدا که از آن فاصله ژئودزیکی تا مقصد محاسبه می شود (به عنوان distanceMeters برگردانده می شود). اگر این مقدار حذف شود، فاصله ژئودزیکی برگردانده نخواهد شد.

inputOffset

integer

اختیاری. یک افست نویسه یونیکد مبتنی بر صفر از input که موقعیت مکان نما را در input نشان می دهد. موقعیت مکان نما ممکن است بر پیش بینی هایی که برگردانده می شوند تأثیر بگذارد.

اگر خالی باشد، پیش‌فرض طول input است.

includeQueryPredictions

boolean

اختیاری. اگر درست باشد، پاسخ شامل پیش‌بینی مکان و پرس و جو می‌شود. در غیر این صورت پاسخ فقط پیش بینی های مکان را برمی گرداند.

sessionToken

string

اختیاری. رشته ای که یک جلسه تکمیل خودکار را برای اهداف صورتحساب مشخص می کند. باید یک URL و نام فایل ایمن رشته base64 با حداکثر 36 کاراکتر اسکی باشد. در غیر این صورت یک خطای INVALID_ARGUMENT برگردانده می شود.

جلسه زمانی شروع می شود که کاربر شروع به تایپ یک پرس و جو می کند، و زمانی که مکان را انتخاب می کند و تماسی با جزئیات مکان یا اعتبار سنجی آدرس برقرار می شود، به پایان می رسد. هر جلسه می‌تواند چندین پرس‌وجو داشته باشد و به دنبال آن یک درخواست جزییات مکان یا اعتبار سنجی آدرس ارائه شود. اعتبار استفاده شده برای هر درخواست در یک جلسه باید متعلق به همان پروژه Google Cloud Console باشد. پس از پایان جلسه، رمز دیگر معتبر نیست. برنامه شما باید برای هر جلسه یک توکن جدید تولید کند. اگر پارامتر sessionToken حذف شود، یا اگر از یک نشانه جلسه استفاده مجدد کنید، هزینه جلسه به گونه ای محاسبه می شود که گویی هیچ نشانه جلسه ارائه نشده است (هر درخواست جداگانه صورتحساب می شود).

ما دستورالعمل های زیر را توصیه می کنیم:

  • از نشانه‌های جلسه برای همه تماس‌های تکمیل خودکار مکان استفاده کنید.
  • برای هر جلسه یک نشانه جدید ایجاد کنید. استفاده از UUID نسخه 4 توصیه می شود.
  • اطمینان حاصل کنید که اعتبار مورد استفاده برای تمام درخواست‌های تکمیل خودکار مکان، جزئیات مکان و اعتبارسنجی آدرس در یک جلسه متعلق به همان پروژه Cloud Console است.
  • مطمئن شوید که برای هر جلسه جدید یک نشانه جلسه منحصر به فرد ارسال می کنید. استفاده از یک نشانه برای بیش از یک جلسه باعث می شود که هر درخواست به صورت جداگانه صورتحساب شود.

بدن پاسخگو

پاسخ اولیه برای مکان‌ها. تکمیل خودکار.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

نمایندگی JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
فیلدها
suggestions[]

object ( Suggestion )

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

LocationBias

منطقه ای برای جستجو نتایج ممکن است حول منطقه مشخص شده تعصب داشته باشند.

نمایندگی JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
فیلدها

type فیلد اتحادیه

type می تواند تنها یکی از موارد زیر باشد:

rectangle

object ( Viewport )

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

circle

object ( Circle )

دایره ای که با نقطه مرکزی و شعاع مشخص می شود.

محدودیت مکان

منطقه ای برای جستجو نتایج به منطقه مشخص شده محدود خواهد شد.

نمایندگی JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
فیلدها

type فیلد اتحادیه

type می تواند تنها یکی از موارد زیر باشد:

rectangle

object ( Viewport )

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

circle

object ( Circle )

دایره ای که با نقطه مرکزی و شعاع مشخص می شود.

پیشنهاد

یک نتیجه پیشنهاد تکمیل خودکار.

نمایندگی JSON
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
فیلدها

kind میدان اتحادیه .

kind می تواند تنها یکی از موارد زیر باشد:

placePrediction

object ( PlacePrediction )

پیش بینی یک مکان

queryPrediction

object ( QueryPrediction )

یک پیش بینی برای یک پرس و جو

پیش بینی مکان

نتایج پیش‌بینی برای پیش‌بینی تکمیل خودکار مکان.

نمایندگی JSON
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
فیلدها
place

string

نام منبع مکان پیشنهادی. این نام را می توان در سایر APIهایی که نام مکان را می پذیرند استفاده کرد.

placeId

string

شناسه منحصر به فرد مکان پیشنهادی. این شناسه را می توان در سایر APIهایی که شناسه مکان را می پذیرند استفاده کرد.

text

object ( FormattableText )

حاوی نام قابل خواندن توسط انسان برای نتیجه برگشتی است. برای نتایج تاسیس، این معمولاً نام و آدرس کسب و کار است.

text برای توسعه دهندگانی که می خواهند یک عنصر رابط کاربری را نشان دهند توصیه می شود. توسعه‌دهندگانی که می‌خواهند دو عنصر رابط کاربری مجزا، اما مرتبط را نشان دهند، ممکن است بخواهند به‌جای آن از structuredFormat استفاده کنند. آنها دو راه متفاوت برای نشان دادن پیش‌بینی مکان هستند. کاربران نباید سعی کنند structuredFormat به text تجزیه کنند یا برعکس.

این متن ممکن است با displayName که توسط places.get برگردانده شده است متفاوت باشد.

اگر input درخواست و languageCode به زبان‌های مختلف باشد یا اگر Place ترجمه‌ای از زبان محلی به languageCode نداشته باشد، ممکن است به زبان‌های مختلط باشد.

structuredFormat

object ( StructuredFormat )

تفکیک پیش‌بینی مکان به متن اصلی حاوی نام مکان و متن ثانویه حاوی ویژگی‌های ابهام‌زدایی اضافی (مانند شهر یا منطقه).

structuredFormat برای توسعه دهندگانی که می خواهند دو عنصر رابط کاربری مجزا، اما مرتبط را نشان دهند، توصیه می شود. توسعه دهندگانی که می خواهند یک عنصر رابط کاربری را نشان دهند، ممکن است بخواهند به جای آن از text استفاده کنند. آنها دو راه متفاوت برای نشان دادن پیش‌بینی مکان هستند. کاربران نباید سعی کنند structuredFormat به text تجزیه کنند یا برعکس.

types[]

string

فهرست انواعی که برای این مکان از جدول A یا جدول B در https://developers.google.com/maps/documentation/places/web-service/place-types اعمال می شود.

نوع یک دسته بندی یک مکان است. مکان‌هایی با انواع مشترک ویژگی‌های مشابهی دارند.

distanceMeters

integer

طول ژئودزیک بر حسب متر از origin در صورت مشخص شدن origin . برخی پیش‌بینی‌ها مانند مسیرها ممکن است این قسمت را پر نکنند.

FormattableText

متنی که یک پیش‌بینی مکان یا پرس و جو را نشان می‌دهد. متن ممکن است همانطور که هست یا قالب بندی شده استفاده شود.

نمایندگی JSON
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
فیلدها
text

string

متنی که ممکن است همانطور که هست استفاده شود یا با matches قالب بندی شود.

matches[]

object ( StringRange )

فهرستی از محدوده‌های رشته‌ای که محل مطابقت درخواست ورودی در text را مشخص می‌کند. محدوده ها را می توان برای قالب بندی بخش های خاصی از text استفاده کرد. اگر تطابق با معیارهایی غیر از تطبیق رشته (مثلاً تصحیح املا یا نویسه‌گردانی) تعیین شده باشد، رشته‌های فرعی ممکن است مطابق با input نباشند.

این مقادیر، افست کاراکترهای یونیکد text هستند. محدوده ها با افزایش مقادیر افست سفارش داده می شوند.

StringRange

یک زیر رشته را در یک متن مشخص شناسایی می کند.

نمایندگی JSON
{
  "startOffset": integer,
  "endOffset": integer
}
فیلدها
startOffset

integer

آفست مبتنی بر صفر اولین کاراکتر یونیکد رشته (شامل).

endOffset

integer

افست بر اساس صفر آخرین کاراکتر یونیکد (انحصاری).

StructuredFormat

شامل تفکیک یک مکان یا پیش‌بینی پرس و جو به متن اصلی و متن فرعی است.

برای پیش بینی مکان، متن اصلی حاوی نام خاص مکان است. برای پیش بینی پرس و جو، متن اصلی شامل پرس و جو است.

متن ثانویه حاوی ویژگی‌های ابهام‌زدایی اضافی (مانند شهر یا منطقه) برای شناسایی بیشتر مکان یا اصلاح درخواست است.

نمایندگی JSON
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
فیلدها
mainText

object ( FormattableText )

نشان دهنده نام مکان یا پرس و جو است.

secondaryText

object ( FormattableText )

نمایانگر ویژگی‌های ابهام‌زدایی اضافی (مانند یک شهر یا منطقه) برای شناسایی بیشتر مکان یا اصلاح درخواست است.

QueryPrediction

نتایج پیش‌بینی برای پیش‌بینی تکمیل خودکار Query.

نمایندگی JSON
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
فیلدها
text

object ( FormattableText )

متن پیش بینی شده این متن نشان دهنده یک مکان نیست، بلکه یک پرس و جو متنی است که می تواند در یک نقطه پایانی جستجو (به عنوان مثال، جستجوی متن) استفاده شود.

text برای توسعه دهندگانی که می خواهند یک عنصر رابط کاربری را نشان دهند توصیه می شود. توسعه‌دهندگانی که می‌خواهند دو عنصر رابط کاربری مجزا، اما مرتبط را نشان دهند، ممکن است بخواهند به‌جای آن از structuredFormat استفاده کنند. آنها دو روش متفاوت برای نمایش یک پیش بینی پرس و جو هستند. کاربران نباید سعی کنند structuredFormat به text تجزیه کنند یا برعکس.

اگر input درخواست و languageCode به زبان های مختلف باشد یا اگر بخشی از پرس و جو دارای ترجمه از زبان محلی به languageCode نباشد، ممکن است به زبان های ترکیبی باشد.

structuredFormat

object ( StructuredFormat )

تفکیک پیش‌بینی پرس و جو به متن اصلی حاوی پرس و جو و متن ثانویه حاوی ویژگی‌های ابهام‌زدایی اضافی (مانند شهر یا منطقه).

structuredFormat برای توسعه دهندگانی که می خواهند دو عنصر رابط کاربری مجزا، اما مرتبط را نشان دهند، توصیه می شود. توسعه دهندگانی که می خواهند یک عنصر رابط کاربری را نشان دهند، ممکن است بخواهند به جای آن از text استفاده کنند. آنها دو روش متفاوت برای نمایش یک پیش بینی پرس و جو هستند. کاربران نباید سعی کنند structuredFormat به text تجزیه کنند یا برعکس.