Obietnice

Metody asynchroniczne w interfejsie Maps JavaScript API zwracają obietnice.

Pomoc

Interfejs API Metody zwracają obietnice
Trasa Tak
Macierz odległości Tak
Wzniesienie Tak
Geokoder Tak
Zdjęcia z maksymalnym powiększeniem Tak
Miejsca Nie
Places AutocompleteService Częściowo1
Street View Tak

Wykorzystanie

Zapoznaj się z tym przewodnikiem na temat korzystania z obiektów Promise lub z przykładami poniżej, aby wykonywać asynchroniczne wywołania metod za pomocą interfejsu Maps JavaScript API.

Async i await

Operator await służy do oczekiwania na Promise. Można jej używać tylko w funkcji asynchronicznej.

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

Następnie złap i na koniec

Obiekt Promise ma metody then, catchfinally, które przyjmują funkcje wywołania zwrotnego.

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

Wzorzec wywołania zwrotnego asynchronicznego

Wzorzec wywołania zwrotnego jest nadal prawidłowy i obsługiwany.

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. Obecnie obietnice są obsługiwane tylko w getPlacePredictions()