obiecuje

Metody asynchroniczne w interfejsie Google Maps JavaScript API zwracają obietnice.

Pomoc

API Metody zwracają obietnice
Wskazówki dojazdu Tak
Matryca odległości Tak
Wzniesienie Tak
Geokoder Tak
Zdjęcia z maksymalnym powiększeniem Tak
Miejsca Nie
Usługa AutocompleteService Miejsc Częściowe1
Street View Tak

Wykorzystanie

Zapoznaj się z tym przewodnikiem po korzystaniu z funkcji Promises lub w poniższych przykładach przedstawiających wywołania metod asynchronicznych za pomocą interfejsu Google Maps JavaScript API.

Asynchronizacja i oczekiwanie

Operator oczekiwania jest używany do oczekiwania na obietnicę. Można go 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();

Potem złap je i na koniec

Obiekt Promise ma metody then, catch i finally, 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 asynchronicznego wywołania zwrotnego

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 językach: getPlacePredictions()