شناسه های مکان

پلتفرم را انتخاب کنید: سرویس وب جاوا اسکریپت اندروید iOS

شناسه‌های مکان به طور منحصربه‌فردی یک مکان را در پایگاه داده Google Places و در Google Maps شناسایی می‌کنند. شناسه‌های مکان در درخواست‌های Maps API زیر پذیرفته می‌شوند:

  • بازیابی آدرسی برای شناسه مکان در سرویس وب Geocoding API و سرویس Geocoding، Maps JavaScript API.
  • مشخص کردن مبدأ، مقصد و ایستگاه‌های بین راهی در سرویس وب Routes API و Directions API و سرویس مسیرها، Maps JavaScript API.
  • تعیین مبدا و مقصد در سرویس وب Routes API و Distance Matrix API و Distance Matrix Service، Maps JavaScript API.
  • بازیابی جزئیات مکان در سرویس وب Places API، Places SDK برای Android، Places SDK برای iOS، و Places Library.
  • استفاده از پارامترهای Place ID در Maps Embed API.
  • بازیابی عبارت های جستجو در URL های Maps.
  • نمایش محدودیت سرعت در Roads API.
  • یافتن و سبک‌دهی چند ضلعی‌های مرزی در استایل‌سازی مبتنی بر داده برای مرزها.

شناسه یک مکان خاص را پیدا کنید

آیا به دنبال شناسه مکان یک مکان خاص هستید؟ برای جستجوی مکان و دریافت شناسه مکان از مکان یاب زیر استفاده کنید:

همچنین، می‌توانید مکان یاب شناسه مکان را با کد آن در اسناد Maps JavaScript API مشاهده کنید .

بررسی اجمالی

شناسه مکان یک شناسه متنی است که به طور منحصر به فرد مکان را شناسایی می کند. طول شناسه ممکن است متفاوت باشد (حداکثر طول برای شناسه‌های مکان وجود ندارد). مثال ها:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

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

می‌توانید از همان شناسه مکان در میان API Places و تعدادی از APIهای پلتفرم Google Maps استفاده کنید. برای مثال، می‌توانید از همان شناسه مکان برای ارجاع به مکانی در Places API ، Maps JavaScript API ، Geocoding API ، Maps Embed API و Roads API استفاده کنید.

جزئیات مکان را با استفاده از شناسه مکان بازیابی کنید

یک روش رایج برای استفاده از شناسه‌های مکان، جستجوی مکان است (برای مثال، با استفاده از API Places یا کتابخانه Places در Maps JavaScript API) سپس از شناسه مکان برگشتی برای بازیابی جزئیات مکان استفاده کنید. می‌توانید شناسه مکان را ذخیره کنید و از آن برای بازیابی جزئیات همان مکان بعدا استفاده کنید. در مورد ذخیره شناسه مکان در زیر بخوانید.

مثال‌های زیر نحوه درخواست نشانی وب نماد برای Places API (جدید) و Places API را نشان می‌دهند.

Places API (جدید)

با استفاده از Places API، می توانید با انجام یک درخواست جستجوی متن (جدید) یک شناسه مکان پیدا کنید.

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

پاسخ شامل یک شناسه مکان در فیلد id است که در زیر نشان داده شده است:

{
  "places": [
    {
      "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Peace Harmony",
        "languageCode": "en"
      }
    },
  ...
}

اکنون می‌توانید با قرار دادن شناسه مکان در URL درخواست، درخواست جزئیات مکان (جدید) کنید:

https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY

Places API

با استفاده از Places API، می‌توانید با انجام درخواست جستجوی مکان، شناسه مکان پیدا کنید.

مثال زیر یک درخواست جستجو برای مکان هایی از نوع "رستوران" در شعاع 1500 متری نقطه ای در سیدنی، استرالیا است که حاوی کلمه "کروز" است:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY

پاسخ شامل شناسه مکان در قسمت place_id است، همانطور که در این قطعه نشان داده شده است:

{
  "html_attributions" : [],
  "results" : [
    {
      "geometry" : {
        "location" : {
          "lat" : -33.870775,
          "lng" : 151.199025
        }
      },
      ...
      "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
      ...
    }
  ],
  "status" : "OK"
}

اکنون می توانید درخواست جزئیات مکان را ارسال کنید و شناسه مکان را در پارامتر place_id قرار دهید:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY

شناسه مکان را برای استفاده بعدی ذخیره کنید

شناسه‌های مکان از محدودیت‌های حافظه پنهان که در بخش 3.2.3(b) شرایط خدمات پلتفرم Google Maps بیان شده است مستثنی هستند. بنابراین می توانید مقادیر مکان شناسه را برای استفاده بعدی ذخیره کنید.

تازه کردن شناسه‌های مکان ذخیره شده

توصیه می‌کنیم شناسه‌های مکان را در صورتی که بیش از ۱۲ ماه از عمر آنها می‌گذرد، تازه‌سازی کنید. می‌توانید شناسه‌های مکان را بدون پرداخت هزینه بازخوانی کنید، با درخواست جزئیات مکان، و فقط فیلد شناسه مکان را در پارامتر fields مشخص کنید.

Places API (جدید)

به عنوان مثال، استفاده از جزئیات مکان (جدید) :

https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY

Places API

به عنوان مثال، با استفاده از API قدیمی Place Details :

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY

این تماس، جزئیات مکان جدید (فقط شناسه‌ها) یا جزئیات مکان - شناسه Refresh SKU را فعال می‌کند.

این درخواست همچنین ممکن است NOT_FOUND کد وضعیت را برگرداند. یک استراتژی ذخیره درخواست اصلی است که شناسه هر مکان را برمی گرداند. اگر شناسه مکان نامعتبر شد، می‌توانید برای دریافت نتایج جدید آن درخواست را دوباره صادر کنید. این نتایج ممکن است شامل مکان اصلی باشد یا نباشد. با این حال، این درخواست قابل پرداخت است.

کدهای خطا هنگام استفاده از شناسه مکان

کد وضعیت INVALID_REQUEST نشان می دهد که شناسه مکان مشخص شده معتبر نیست. INVALID_REQUEST ممکن است زمانی برگردانده شود که شناسه مکان کوتاه شده است یا به شکل دیگری تغییر داده شده است و دیگر صحیح نیست.

کد وضعیت NOT_FOUND نشان می دهد که شناسه مکان مشخص شده منسوخ شده است. اگر یک کسب و کار بسته شود یا به مکان جدیدی نقل مکان کند، ممکن است شناسه مکان منسوخ شود. شناسه‌های مکان ممکن است به دلیل به‌روزرسانی‌های گسترده در پایگاه داده Google Maps تغییر کنند. در چنین مواردی، یک مکان ممکن است شناسه مکان جدیدی دریافت کند و شناسه قدیمی یک پاسخ NOT_FOUND را برمی‌گرداند.

به طور خاص، برخی از انواع شناسه‌های مکان ممکن است گاهی باعث پاسخ NOT_FOUND شوند، یا API ممکن است شناسه مکان دیگری را در پاسخ برگرداند. این انواع شناسه مکان عبارتند از:

  • آدرس‌های خیابانی که در Google Maps به عنوان آدرس دقیق وجود ندارند، اما از طیف وسیعی از آدرس‌ها استنباط می‌شوند.
  • بخش‌های یک مسیر طولانی، که در آن درخواست یک شهر یا محل را نیز مشخص می‌کند.
  • تقاطع ها
  • مکان هایی با جزء آدرس از نوع subpremise .

این شناسه‌ها اغلب به شکل یک رشته طولانی هستند (حداکثر طول برای شناسه‌های مکان وجود ندارد). مثلا:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4