الوعود

تُعرِض الطرق غير المتزامنة في Google Maps JavaScript API وعودًا.

الدعم

واجهة برمجة التطبيقات تعرِض الطرق وعدًا.
الاتجاهات نعم
مصفوفة المسافات نعم
الارتفاع نعم
المشفِّر الجغرافي نعم
صور التكبير إلى أقصى حد نعم
أماكن لا
Places AutocompleteService جزئي1
التجوّل الافتراضي نعم

الاستخدام

اطّلِع على هذا الدليل للاطّلاع على كيفية استخدام وعد JavaScript أو على الأمثلة أدناه لإجراء مكالمات غير متزامنة للطريقة باستخدام Google Maps JavaScript API.

Async وawait

يُستخدَم عامل الانتظار في انتظار وعد. ولا يمكن استخدامه إلا داخل دالة غير متزامنة.

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 التي تأخذ دوالّ ردّ اتصال.

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. في الوقت الحالي، تتوفّر ميزة "التعهدات" في getPlacePredictions() فقط.