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

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.
پلتفرم را انتخاب کنید: سرویس وب جاوا اسکریپت اندروید iOS

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

  • بازیابی آدرسی برای شناسه مکان در سرویس وب Geocoding API و سرویس Geocoding، Maps JavaScript API.
  • مشخص کردن مبدا، مقصد و ایستگاه های بین راهی در وب سرویس Directions API و Directions Service، Maps JavaScript API.
  • تعیین مبدا و مقصد در سرویس وب Distance Matrix API و Distance Matrix Service، Maps JavaScript API.
  • بازیابی جزئیات مکان در سرویس وب Places API، Places SDK برای Android، Places SDK برای iOS، و Places Library، JavaScript API.
  • استفاده از پارامترهای 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 استفاده کنید.

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

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

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

مثال استفاده از Places SDK برای iOS

شناسه مکان یک شناسه متنی است که به طور منحصر به فرد مکان را شناسایی می کند. در Places SDK برای iOS، می‌توانید شناسه مکان را از یک شی GMSPlace کنید. می‌توانید شناسه مکان را ذخیره کنید و از آن برای بازیابی شی GMSPlace بعداً دوباره استفاده کنید.

برای دریافت مکان با شناسه، با عبور پارامترهای زیر با GMSPlacesClient fetchPlaceFromPlaceID: تماس بگیرید:

  • رشته ای حاوی شناسه مکان.
  • یک یا چند GMSPlaceField که انواع داده‌های مورد نظر را مشخص می‌کند.
  • یک نشانه جلسه در صورتی که تماس برای نتیجه گیری یک پرس و جو تکمیل خودکار انجام شود. در غیر این صورت، از صفر عبور کنید.
  • یک GMSPlaceResultCallback برای رسیدگی به نتیجه.

API روش برگشت تماس مشخص شده را فراخوانی می کند و در یک شی GMSPlace می کند. اگر مکان پیدا نشد، شی مکان صفر است.

سریع

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

هدف-C

// A hotel in Saigon with an attribution.
NSString *placeId = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

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

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

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

توصیه می‌کنیم شناسه‌های مکان را در صورتی که بیش از ۱۲ ماه از عمر آنها می‌گذرد، تازه‌سازی کنید. می‌توانید شناسه‌های مکان را بدون پرداخت هزینه ، با درخواست جزئیات مکان ، با مشخص کردن فقط فیلد GMSPlaceFieldPlaceID در پارامتر fields ، بازخوانی کنید. این کار جزئیات مکان ها - ID 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