Metody asynchroniczne w zwracaniu przez interfejs Google Maps JavaScript API Obietnice.
Pomoc
Interfejs 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
Zobacz to przewodnik o używaniu obietnic lub poniższych przykładów do wywoływania metod asynchronicznych za pomocą interfejsu Google Maps JavaScript API.
Asynchronizacja i oczekiwanie
operator oczekiwania służy 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 obietnicy
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 ważny 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);
-
Obecnie obietnice są obsługiwane tylko w językach:
getPlacePredictions()
. ↩