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

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

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

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

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

فعال کردن Places API

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

تغییرات کلی

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

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

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

کلاس «مکان» یک میانای برنامه‌سازی کاربردی برای استفاده از کتابخانه «مکان‌ها» ارائه می‌دهد و از الگوهای استفاده مدرن مانند 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 ---

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

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