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