שיטות אסינכרוניות בכל ממשק Google Maps JavaScript API מחזירות Promises.
תמיכה
| API | השיטות מחזירות הבטחות | 
|---|---|
| מסלול | כן | 
| Distance Matrix | כן | 
| גובה | כן | 
| Geocoder | כן | 
| תמונות בזום מקסימלי | כן | 
| מקומות | לא | 
| Places AutocompleteService | באופן חלקי1 | 
| Streetview | כן | 
שימוש
במדריך הזה או בדוגמאות שבהמשך מוסבר איך לבצע קריאות אסינכרוניות למתודות באמצעות Google Maps JavaScript API.
Async ו-await
אופרטור await משמש להמתנה ל-Promise. אפשר להשתמש בו רק בתוך פונקציה אסינכרונית.
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);
- 
בשלב הזה, יש תמיכה ב-Promises רק בשפות getPlacePredictions(). ↩