وعده ها

متدهای ناهمزمان در سراسر API جاوا اسکریپت نقشه‌های گوگل، Promises را برمی‌گردانند.

پشتیبانی

رابط برنامه‌نویسی کاربردی متدها Promiseها را برمی‌گردانند
مسیرها بله
ماتریس فاصله بله
ارتفاع بله
ژئوکودر بله
حداکثر بزرگنمایی تصویر بله
مکان‌ها خیر
سرویس تکمیل خودکار مکان‌ها جزئی ۱
نمای خیابان بله

کاربرد

برای استفاده از Promiseها یا مثال‌های زیر برای فراخوانی‌های ناهمزمان متد با API جاوا اسکریپت نقشه گوگل، به این راهنما مراجعه کنید.

همگام‌سازی و انتظار

عملگر await برای منتظر ماندن برای یک Promise استفاده می‌شود. این عملگر فقط می‌تواند درون یک تابع async استفاده شود.

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

سپس، گرفتن، و در نهایت

شیء Promise دارای متدهای then ، catch و finally است که توابع 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');
    });

الگوی فراخوانی ناهمگام

الگوی فراخوانی برگشتی هنوز معتبر و پشتیبانی می‌شود.

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. در حال حاضر، Promiseها فقط در getPlacePredictions() پشتیبانی می‌شوند.