Promesses

Les méthodes asynchrones utilisées par l'API Google Maps JavaScript renvoient des promesses.

Compatibilité

API Les méthodes renvoient des promesses
Directions Oui
Distance Matrix Oui
Elevation Oui
Geocoder Oui
Maximum Zoom Imagery Oui
Places Non
Places AutocompleteService Partiel1
Street View Oui

Utilisation

Consultez ce guide sur l'utilisation des promesses ou les exemples ci-dessous pour effectuer des appels de méthode asynchrones avec l'API Google Maps JavaScript.

Async et await

L'opérateur await est utilisé pour attendre une promesse. Il ne peut être utilisé que dans une fonction asynchrone.

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();

Then, catch et finally

L'objet Promise comporte des méthodes then, catch et finally qui acceptent des fonctions de rappel.

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');
    });

Modèle de rappel asynchrone

Le modèle de rappel est toujours valide et compatible.

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. Actuellement, les promesses ne sont compatibles qu'avec getPlacePredictions()