הבטחות

שיטות אסינכרוניות בהחזרה של JavaScript API במפות Google הבטחות.

תמיכה

API שיטות להחזרת הבטחות
מסלול כן
מטריצת המרחק כן
גובה כן
Geocoder (קואורדינטות) כן
כמות מקסימלית של תמונות בזום כן
מקומות לא
Places InventoryService באופן חלקי1
Streetview כן

שימוש

לראות את זה מדריך לגבי שימוש בהבטחות או בדוגמאות שבהמשך לביצוע הפעלות method אסינכרוניות עם JavaScript API של מפות Google.

אסינכרוני וממתינים

המתנה למפעיל משמש להמתנה להבטחה. אפשר להשתמש בה רק בתוך פונקציה אסינכרונית.

const app = async () => {
  const elevationService = google.maps.ElevationService();
  const locations = [{lat: 27.986065, lng:86.922623}];

  const response = await elevationService.getElevationForLocation({locations});
  console.log(response.results);
};

app();

ואז, תופסים, ולבסוף

Promise object יש שיטות then, catch ו-finally שמקבלות פונקציות קריאה חוזרת.

const elevationService = google.maps.ElevationService();
const locations = [{lat: 27.986065, lng:86.922623}];

const promise = elevationService.getElevationForLocation({locations});

promise
    .then((response) => {
      console.log(response.results);
    })
    .catch((error) => {
      console.log(error);
    });
    .finally(() => {
      console.log('done');
    });

דפוס קריאה חוזרת אסינכרוני

דפוס קריאה חוזרת עדיין בתוקף ונתמך.

const elevationService = google.maps.ElevationService();
const locations = [{lat: 27.986065, lng:86.922623}];

const callback = (results, status) => {
  if (status === 'OK') {
    console.log(results);
  } else {
    // handle this case
  }
};

elevationService.getElevationForLocation({locations}, callback);

  1. בשלב הזה, הבטחות נתמכות רק בgetPlacePredictions().