بررسی اجمالی مهاجرت

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

بهترین شیوه های صدور صورت حساب برای مهاجرت

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

Places API را فعال کنید

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

تغییرات کلی

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

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

تغییرات ویژه API

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

این جدول نشان می‌دهد که چگونه ویژگی‌های 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 ---

کتابخانه Places را بارگیری کنید

اینکه برنامه شما چگونه کتابخانه Places را بارگیری می کند به این بستگی دارد که کدام بارکننده بوت استرپ در حال استفاده است. اگر برنامه شما از وارد کردن کتابخانه پویا استفاده می کند، می توانید کتابخانه های مورد نیاز را در زمان اجرا با استفاده از عملگر 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 منتقل کنید: