Lời hứa

Các phương thức không đồng bộ trong API JavaScript của Google Maps sẽ trả về Promises.

Hỗ trợ

API Phương thức trả về Promise
Đường đi
Ma trận khoảng cách
Độ cao
Bộ mã hoá địa lý
Hình ảnh thu phóng tối đa
Địa điểm Không
Dịch vụ tự động hoàn thành dành cho địa điểm Một phần1
Chế độ xem đường phố

Cách sử dụng

Hãy xem hướng dẫn này về cách sử dụng Promises hoặc các ví dụ bên dưới để thực hiện các lệnh gọi phương thức không đồng bộ bằng API JavaScript của Google Maps.

Không đồng bộ và đang chờ

Toán tử chờ (await) được dùng để chờ lời hứa (Promise). Bạn chỉ có thể dùng hàm này bên trong hàm không đồng bộ.

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

Sau đó, tìm hiểu và cuối cùng

Đối tượng Promise có các phương thức then, catchfinally nhận các hàm gọi lại.

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

Mẫu lệnh gọi lại không đồng bộ

Mẫu gọi lại vẫn hợp lệ và được hỗ trợ.

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. Hiện tại, Lời hứa chỉ được hỗ trợ bằng getPlacePredictions().