प्रॉमिस

Google Maps JavaScript API में मौजूद असाइनोक्रोनस तरीके, Promises दिखाते हैं.

सहायता

एपीआई ऐसे तरीके जो Promises दिखाते हैं
रास्ता हां
Distance Matrix हां
ऊंचाई हां
जियोकोडर हां
ज़्यादा से ज़्यादा ज़ूम की गई इमेज हां
जगहें नहीं
Places AutocompleteService आंशिक1
Streetview हां

इस्तेमाल

Google Maps JavaScript API के साथ असाइनिश्मन वाले तरीके का इस्तेमाल करने के लिए, प्रॉमिस का इस्तेमाल करने के बारे में यह गाइड देखें या नीचे दिए गए उदाहरण देखें.

एक साथ काम नहीं करने वाली प्रोसेस और await

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. फ़िलहाल, Promises सिर्फ़ getPlacePredictions() में काम करते हैं.