نمای کلی انتقال

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

این راهنما تفاوت‌های کلیدی بین «سرویس مکان» قدیمی و کلاس جدید «مکان» را برجسته می‌کند. ارتقا دادن به کلاس Place مزایای قابل‌توجهی دارد، ازجمله عملکرد بهبودیافته و مدل قیمت‌گذاری جدید. برای بهره‌برداری حداکثری از Places و اطمینان از به‌روز بودن برنامه‌هایتان، با تغییرات شرح‌داده‌شده در این راهنما آشنا شوید.

روال‌های مطلوب صورت‌حساب برای انتقال

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

فعال کردن Places API

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

تغییرات کلی

جدول زیر برخی‌از تفاوت‌های اصلی بین PlacesService و Place را فهرست می‌کند:

PlacesService (قدیمی) Place (جدید)
روش‌ها برای مدیریت کردن شیء نتایج و google.maps.places.PlacesServiceStatus پاسخ نیاز به استفاده از تماس برگشتی دارند. از Promises استفاده می‌کند و به‌صورت ناهمگام کار می‌کند.
روش‌ها به بررسی PlacesServiceStatus نیاز دارند. بررسی وضعیت لازم نیست، می‌توان از رسیدگی به خطای استاندارد استفاده کرد.
فیلدهای داده مکان بااستفاده از حروف کوچک مارپیچی قالب‌بندی می‌شوند. فیلدهای داده مکان بااستفاده از نگارش شتری قالب‌بندی می‌شوند.
محدود به مجموعه ثابتی از انواع مکان و فیلدهای داده مکان. انتخاب گسترده‌ای از انواع مکان و فیلدهای داده مکان را که به‌طور منظم به‌روزرسانی می‌شوند ارائه می‌دهد.

تغییرات مختص میانای برنامه‌سازی کاربردی

کلاس «مکان» یک API برای استفاده از کتابخانه «مکان‌ها» ارائه می‌دهد و از الگوهای استفاده مدرن مانند Promises پشتیبانی می‌کند. کلاس «مکان» همان فیلدهای داده مکان و انواع مکان را مانند «سرویس مکان‌های قدیمی» نمایان می‌کند و شامل مقادیر جدید بسیاری برای فیلدهای داده مکان و انواع مکان است.

این جدول نشان می‌دهد که ویژگی‌های Places Service چگونه با ویژگی‌های کلاس Place مطابقت دارند:

خدمات مکان‌ها (قدیمی) کلاس مکان (جدید)
فیلدهای داده مکان فیلدهای داده کلاس مکان
انواع مکان انواع مکان
PlacesService.findPlaceFromQuery() Place.searchByText()
PlacesService.findPlaceFromPhoneNumber() Place.searchByText()
PlacesService.textSearch() Place.searchByText()
PlacesService.nearbySearch() Place.searchNearby()
PlacesService.getDetails() Place.fetchFields()
Places.AutocompletionRequest Places.AutocompleteRequest
Places.AutocompletePrediction Places.PlacePrediction
کلاس Autocomplete کلاس PlaceAutocompleteElement
کلاس SearchBox ---

بار کردن کتابخانه «جاها»

نحوه بار کردن کتابخانه «مکان‌ها» در برنامه شما به اینکه از کدام بارکننده راه‌اندازی استفاده می‌کنید بستگی دارد. اگر برنامه‌تان از وارد کردن کتابخانه پویا استفاده می‌کند، می‌توانید کتابخانه‌های موردنیاز را بااستفاده از عامل await برای فراخوانی importLibrary() در زمان اجرا بار کنید، همان‌طور که در اینجا نشان داده شده است:

const { Place } = await google.maps.importLibrary("places");

اگر برنامه شما از برچسب بارگیری مستقیم متن استفاده می‌کند، کتابخانه places را در متن بارکننده درخواست کنید:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>

درباره بار کردن Maps JavaScript API بیشتر بدانید.

این بخش شامل راهنماهای زیر است تا به شما کمک کند برنامه‌هایتان را برای استفاده از جدیدترین نسخه Places API منتقل کنید: