مهاجرت از جزئیات مکان (قدمتی) به جزئیات مکان (جدید)

توسعه‌دهندگان منطقه اقتصادی اروپا (EEA)

کیت توسعه نرم‌افزاری Places برای اندروید از جزئیات مکان (Legacy) پشتیبانی می‌کند. اگر با جزئیات مکان (Legacy) آشنا هستید، جزئیات مکان (New) تغییرات زیر را ایجاد می‌کند:

  • از یک مدل قیمت‌گذاری جدید استفاده می‌کند. برای اطلاعات قیمت‌گذاری برای همه APIها، به Places SDK برای اندروید (جدید) مراجعه کنید.

  • شما باید برنامه خود را با فراخوانی متد Places.initializeWithNewPlacesApiEnabled() مقداردهی اولیه کنید. برای اطلاعات بیشتر در مورد انتخاب سرویس Places API، به بخش «راه‌اندازی پروژه Google Cloud» مراجعه کنید.

  • ماسک کردن فیلد الزامی است. شما باید مشخص کنید که می‌خواهید کدام فیلدها در پاسخ برگردانده شوند. هیچ لیست پیش‌فرضی از فیلدهای برگردانده شده وجود ندارد. اگر این لیست را حذف کنید، متدها خطا برمی‌گردانند.

بخش‌های بعدی تغییرات اضافی را شرح می‌دهند.

دسترسی به انواع مکان‌های جدید

هر مکان می‌تواند یک یا چند مقدار نوع مرتبط با خود داشته باشد. بسته توسعه نرم‌افزاری Places برای اندروید نسخه ۳.۳.۰ و بالاتر، مقادیر نوع جدید زیادی را اضافه می‌کند. برای لیست کامل، به بخش انواع مکان‌های توسعه‌یافته مراجعه کنید.

متد Place.getPlaceTypes() مقادیر نوع را به صورت لیستی از مقادیر رشته‌ای برمی‌گرداند. مقادیر برگردانده شده به نسخه Places SDK شما برای اندروید بستگی دارد:

  • کیت توسعه نرم‌افزاری مکان‌ها برای اندروید (جدید) : رشته‌های تعریف‌شده توسط جدول A و جدول B نشان داده‌شده در بخش انواع مکان (جدید) ، شامل تمام انواع مکان‌های اضافه‌شده در نسخه ۳.۳.۰ را برمی‌گرداند.

  • کیت توسعه نرم‌افزار Places برای اندروید : enumهای تعریف‌شده توسط Place.Types را برمی‌گرداند، که شامل انواع جدید اضافه‌شده در نسخه ۳.۳.۰ و بالاتر نمی‌شود.

دسترسی به نظرات مربوط به مکان‌ها

کیت توسعه نرم‌افزار Places برای اندروید (جدید) کلاس Review را اضافه می‌کند که شامل نقد و بررسی یک مکان است. شیء Place می‌تواند تا پنج نقد و بررسی داشته باشد.

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

برای اطلاعات بیشتر، به مستندات مربوط به انتساب‌ها مراجعه کنید.

دسترسی به کد زبان نام مکان

در Places SDK برای اندروید (Legacy)، متد Place.getName() یک رشته متنی حاوی نام یک مکان را برمی‌گرداند. برای پر کردن شیء Place با نام مکان، باید Place.Field.DISPLAY_NAME را در لیست فیلدهای درخواست جزئیات مکان قرار دهید.

شیء Place اکنون شامل کد زبان برای رشته نام است. برای پر کردن شیء Place با کد زبان، باید:

  1. مقدار Place.Field.DISPLAY_NAME در لیست فیلدهای درخواست وارد کنید. این مقدار، پاسخ را طوری پیکربندی می‌کند که هم نام مکان و هم کد زبان را در شیء Place شامل شود.

  2. تابع PlacesClient.fetchPlace() را فراخوانی کنید. PlacesClient.findCurrentPlace() از فیلد کد زبان پشتیبانی نمی‌کند.

  3. برای دسترسی به فیلد کد زبان در شیء Place از متد Place.getNameLanguageCode() استفاده کنید.

تنظیم کد منطقه

کیت توسعه نرم‌افزار Places برای اندروید (جدید) پارامتر درخواست کد منطقه را به جزئیات مکان اضافه می‌کند. کد منطقه برای قالب‌بندی پاسخ استفاده می‌شود که به عنوان یک مقدار کد CLDR دو کاراکتری مشخص می‌شود. این پارامتر همچنین می‌تواند تأثیر سوگیری بر نتایج جستجو داشته باشد. مقدار پیش‌فرضی وجود ندارد. برای تنظیم کد منطقه باید SDK جدید را فعال کنید.

اگر نام کشور فیلد آدرس در پاسخ با کد منطقه مطابقت داشته باشد، کد کشور از آدرس حذف می‌شود.

بیشتر کدهای CLDR با کدهای ISO 3166-1 یکسان هستند، به جز برخی استثنائات قابل توجه. برای مثال، ccTLD بریتانیا "uk" (.co.uk) است در حالی که کد ISO 3166-1 آن "gb" است (از نظر فنی برای موجودیت "پادشاهی متحده بریتانیای کبیر و ایرلند شمالی"). این پارامتر می‌تواند بر اساس قانون مربوطه بر نتایج تأثیر بگذارد.

درخواست نمونه

برای مثال کامل، به جزئیات مکان (جدید) مراجعه کنید.