Über die asynchronen Methoden in der Google Maps JavaScript API werden Promise-Objekte zurückgegeben.
Support
| API | Promise-Objekte werden zurückgegeben | 
|---|---|
| Directions | Ja | 
| Distance Matrix | Ja | 
| Elevation | Ja | 
| Geocoder | Ja | 
| Maximum Zoom Imagery | Ja | 
| Places | Nein | 
| Places AutocompleteService | Teilweise1 | 
| Streetview | Ja | 
Verwendung
In diesem Leitfaden erfahren Sie, wie Sie Promise-Objekte oder die nachfolgenden Beispiele verwenden, um mit der Google Maps JavaScript API asynchrone Methodenaufrufe auszuführen.
„async“ und „await“
Der Operator „await“ wird verwendet, um auf ein Promise-Objekt zu warten. Seine Verwendung ist nur in asynchronen Funktionen möglich.
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“ und „finally“
Für das Promise-Objekt gibt es die Methoden then, catch und finally, die Callback-Funktionen unterstützen.
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');
    });
Asynchrones Callback-Muster
Das Callback-Muster ist weiterhin gültig und wird unterstützt.
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);
- 
Promise-Objekte werden derzeit nur in
getPlacePredictions()unterstützt. ↩