Các phương thức không đồng bộ trong API JavaScript của Google Maps trả về Lời hứa.
Hỗ trợ
API | Phương thức trả về Promise |
---|---|
Đường đi | Có |
Ma trận khoảng cách | Có |
Độ cao | Có |
Bộ mã hoá địa lý | Có |
Hình ảnh thu phóng tối đa | Có |
Đị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ó |
Cách sử dụng
Xem hướng dẫn về việc sử dụng Promises hoặc các ví dụ bên dưới để thực hiện 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ờ
Chiến lược phát hành đĩa đơn toán tử chờ được dùng để chờ Lời hứa. 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
Chiến lược phát hành đĩa đơn
Đối tượng Promise (Đối tượng lời hứa)
có các phương thức then
, catch
và finally
nhận các hàm callback.
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ộ
Chiến lược phát hành đĩa đơn 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);
-
Hiện tại, Lời hứa chỉ được hỗ trợ bằng
getPlacePredictions()
.↩