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
Geokodowanie Tak
Maksymalne powiększenie obrazu Tak
Miejsca Nie
Places AutocompleteService Częściowe1
Street View Tak

Wykorzystanie

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

Async i await

Operator await służy do oczekiwania na obietnicę. Można go używać tylko w ramach 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 catch, a na koniec

Obiekt obiecujący 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 asynchronicznego

Wzór 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ęzyku getPlacePredictions()