סקירה כללית על ההעברה

מפתחים באזור הכלכלי האירופי (EEA)

במדריך הזה נדגיש את ההבדלים העיקריים בין Places Service מהדור הקודם לבין Place class החדש. השדרוג לסוג המקום מציע יתרונות משמעותיים, כולל שיפור הביצועים ומודל תמחור חדש. כדי להפיק את המרב מהשימוש ב-Places ולוודא שהאפליקציות שלכם מעודכנות, מומלץ לעיין בשינויים שמפורטים במדריך הזה.

שיטות מומלצות לחיוב במהלך העברה

ההנחיות האלה רלוונטיות אם השימוש שלכם ב-API גבוה מספיק כדי לעבור לתמחור ברמה השנייה. כשעוברים לגרסה חדשה יותר של API, מחויבים גם על מק"ט אחר. כדי להימנע מעלויות מוגדלות במהלך חודש המעבר, מומלץ לעבור ל-API החדש בסביבת הייצור כמה שיותר קרוב לתחילת החודש. כך תוכלו להגיע לרמות התמחור החודשיות הכי משתלמות במהלך חודש המעבר. מידע על רמות התמחור מופיע בדף המחירים ובשאלות הנפוצות בנושא מחירים.

הפעלת Places API

המחלקות Place מסתמכות על שירות Places API. כדי להשתמש בתכונות של המחלקה החדשה Place, צריך קודם להפעיל את Places API (חדש) בפרויקט Google Cloud. מידע נוסף זמין במאמר תחילת העבודה.

שינויים כלליים

בטבלה הבאה מפורטים כמה מההבדלים העיקריים בין PlacesService לבין Place:

PlacesService (גרסה קודמת) Place (חדש)
ב-methods צריך להשתמש בקריאה חוזרת כדי לטפל באובייקט התוצאות ובתגובה google.maps.places.PlacesServiceStatus. משתמש ב-Promises, ופועל באופן אסינכרוני.
השיטות מחייבות PlacesServiceStatusבדיקה. אין צורך בבדיקת סטטוס, אפשר להשתמש בטיפול רגיל בשגיאות.
הפורמט של שדות נתונים של מקומות הוא snake case. הפורמט של שדות נתוני המקום הוא camel case.
מוגבל לסט קבוע של סוגי מקומות ושדות נתוני מקומות. מציע מבחר מורחב של סוגי מקומות ושדות נתוני מקומות שמתעדכנים באופן קבוע.

שינויים ספציפיים ל-API

המחלק Place מספק API לשימוש בספריית Places, ותומך בדפוסי שימוש מודרניים כמו Promises. המחלקות Place חושפות את אותם שדות נתונים של מקומות ואת אותם סוגי מקומות כמו Places Service מדור קודם, וכוללות הרבה ערכים חדשים של שדות נתונים של מקומות וסוגי מקומות.

בטבלה הזו אפשר לראות איך תכונות של Places Service ממופות לתכונות של Place class:

Places Service (גרסה קודמת) סיווג מקום (חדש)
שדות של נתוני מקומות שדות נתונים של סיווג מקומות
סוגי מקומות סוגי מקומות
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 באפליקציה תלוי בטוען ה-bootstrap שנמצא בשימוש. אם האפליקציה משתמשת בייבוא של ספריות דינמיות, אפשר לטעון את הספריות הנדרשות בזמן הריצה באמצעות האופרטור 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: