कार में जगह ब्राउज़ करते समय, सबसे अच्छा उपयोगकर्ता अनुभव देने के लिए सलाह

यह दस्तावेज़, पुराने लेख का अपडेट किया गया वर्शन है. इसमें GMP API के पिछले वर्शन का इस्तेमाल किया गया था. इस कॉन्टेंट को Places API के नए वर्शन के हिसाब से अपडेट किया गया है. इसे 2023-24 में लॉन्च किया गया था. साथ ही, इसे Routes API के हिसाब से भी अपडेट किया गया है. इसे 2023 में लॉन्च किया गया था.

आम तौर पर, जब कोई उपयोगकर्ता किसी दिलचस्पी वाली जगह (पीओआई) पर ड्राइव कर रहा होता है, तो उसे आस-पास की किसी जगह पर नेविगेट करने की ज़रूरत होती है. जैसे, पार्किंग की जगह या ऐक्सेस पॉइंट. मान लें कि किसी ड्राइवर को एयरपोर्ट या शॉपिंग मॉल जाना है. हवाई अड्डे जाते समय, ड्राइवर हवाई अड्डे के कंपाउंड के बीच में पहुंचने के बजाय, किसी टर्मिनल या ड्रॉप-ऑफ़ पॉइंट पर पहुंचने की कोशिश कर रहा हो. इसी तरह, शॉपिंग सेंटर के बगल में मौजूद पार्किंग की जगह, कार वाले व्यक्ति के लिए ज़्यादा बेहतर विकल्प हो सकती है. इस मामले में, ड्राइवर को दिशा-निर्देश देने के लिए कोई ऐप्लिकेशन या सेवा डेवलप करते समय, सबसे पहले उस जगह की जानकारी ढूंढें जहां ड्राइवर को जाना है. इसके बाद, ड्राइवर को उस जगह के आस-पास मौजूद अन्य जगहों के विकल्प दें. इस तरीके से, अपने खरीदारों को बेहतर सेवा दी जा सकती है. साथ ही, यह दिखाया जा सकता है कि आपको उनके समय की परवाह है. इसके लिए, आपको Google Maps Platform से मिले जगह की जानकारी के डेटा का इस्तेमाल करके, कम लेकिन स्मार्ट तरीके से डेवलपमेंट करना होगा.

सिस्टम डायग्राम

हम आपको दिखाएंगे कि अपनी मंज़िल के पास पार्किंग की सही जगह का पता लगाने के लिए, Places API और Routes API का इस्तेमाल क्रम से या एक साथ कैसे किया जा सकता है. इस समाधान का मकसद, ड्राइविंग के दौरान पार्किंग की जगह ढूंढने में होने वाली मुश्किलों को कम करना है. साथ ही, मंज़िल के करीब पहुंचने पर, पार्किंग की जगह ढूंढने के लिए कई बार इंटरैक्ट करने की ज़रूरत को खत्म करना है. इन मामलों को ज़्यादा जानकारी के साथ लागू करने के दो उदाहरण देखें.

उदाहरण 1 - ऐसी जगह जो पर्यटकों के लिए आकर्षण का केंद्र है, लेकिन वहां पार्किंग की सुविधा नहीं है

ऐसी जगह चुनें जो सड़क के किनारे न हो, ताकि रास्ते की जानकारी अलग से मिल सके. मंज़िल के तौर पर पेरिस में नोट्रे डेम को चुना गया है. साथ ही, शुरुआती जगह के तौर पर गेर दे ल'एस्त रेलवे स्टेशन (48.87697775149635, 2.3592247806755564) को चुना गया है.

गार ल'एस्त

ड्राइवर, नौत्र देम से करीब 16 मिनट की दूरी पर उत्तर की ओर स्टेशन छोड़ता है. नोट्र डैम, एक मशहूर टूरिस्ट अट्रैक्शन है. यह एक टापू पर है और यहां पुल से पहुंचा जा सकता है. यहां कुछ सड़कें वन-वे हैं और आस-पास कोई बड़ा पार्किंग लॉट उपलब्ध नहीं है. इसलिए, यह एक दिलचस्प चुनौती होनी चाहिए.

1. Places API का अनुरोध

Places API के इस उदाहरण में, Notre Dame को ढूंढने के लिए टेक्स्ट से खोजने की सुविधा का इस्तेमाल किया जा रहा है. ज़्यादा जानकारी के लिए, डेवलपर दस्तावेज़ देखें. इन उदाहरणों में "$APIKEY" वह एपीआई पासकोड है जो आपने Google Cloud Console में Google Maps Platform Places और Routes API के लिए बनाया है. ज़्यादा जानकारी के लिए, Google Maps Platform का इस्तेमाल शुरू करने से जुड़ा दस्तावेज़ देखें.

Places API के नए अनुरोधों का फ़ॉर्मैट नया है. जवाब के फ़ील्ड अब तय नहीं किए गए हैं. इसलिए, डेवलपर के तौर पर आपको हेडर में फ़ील्डमास्क तय करना होगा. fieldmask का इस्तेमाल करने के बारे में दस्तावेज़ में बताया गया है.

curl -X POST --data @notre_dame.json \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress,places.location' \
'https://places.googleapis.com/v1/places:searchText'

खोज के पैरामीटर के लिए, "notre_date.json" कॉन्टेंट के साथ:

{
   "textQuery": "Notre Dame, Paris",
   "languageCode": "en"
}

ऊपर दिए गए अनुरोध के जवाब में, अक्षांश और देशांतर के ये निर्देशांक दिए गए हैं:

{
  "places": [
    {
      "id": "ChIJATr1n-Fx5kcRjQb6q6cdQDY",
      "formattedAddress": "6 Parvis Notre-Dame - Pl. Jean-Paul II, 75004 Paris, France",
      "location": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021
      },
      "displayName": {
        "text": "Cathédrale Notre-Dame de Paris",
        "languageCode": "en"
      }
    }
  ]
}

जैसा कि आपको दिख रहा है, निर्देशांकों से नोट्रा-डेम का पता चलता है.

नोट्रे डेम के प्रवेश द्वार की फ़ोटो नोट्र डैम के आस-पास के इलाके का मैप

डेवलपर या सेवा देने वाली कंपनी के तौर पर, ड्राइवर को अपने-आप यह प्रॉम्प्ट दिखाना एक अच्छा विचार है: "क्या आपको नोट्रे डेम के पास पार्किंग की जगह चाहिए?" इसके अलावा, अगर ड्राइवर के पास इलेक्ट्रिक वाहन है, तो आपको चार्जिंग स्टेशन खोजना चाहिए. डिवाइस और स्क्रीन के हिसाब से, उपयोगकर्ता अनुभव अलग-अलग होगा. हालांकि, इस मामले में, कुछ समय बाद गायब होने वाले डायलॉग टेक्स्ट का इस्तेमाल किया जा सकता है. नोट्रे डेम के आस-पास पार्किंग ढूंढने के लिए, Places API की मदद से आस-पास की जगहें खोजें. इसके लिए, "parking" और "electric_vehicle_charging_station" टाइप का इस्तेमाल करें. साथ ही, 500 मीटर का दायरा तय करें. नीचे दिए गए उदाहरण में, नतीजों को नोट्रे डेम से 500 मीटर के दायरे में मौजूद पार्किंग की जगहों के हिसाब से व्यवस्थित किया जाएगा.

curl -X POST -d '{
  "includedTypes": ["parking", "electric_vehicle_charging_station"],
  "maxResultCount": 10,
  "rankPreference": "DISTANCE",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H "X-Goog-FieldMask: places.displayName,places.location" \
https://places.googleapis.com/v1/places:searchNearby

पहला नतीजा, 48.854981, 2.350629 पर मौजूद चार्जिंग स्टेशन का है. हालांकि, इस उदाहरण को चलाने के समय, आपके नतीजे अलग-अलग हो सकते हैं. इस जगह का इस्तेमाल अगले हिस्से में करें, जहां हम Routes API का अनुरोध कर रहे हैं.

2. Routes API का अनुरोध

स्टेशन से नोट्र डैम के पास मौजूद चार्जिंग स्टेशन तक का रास्ता ढूंढने के लिए, आपको Routes API का अनुरोध करना होगा. बस ऑरिजिन और डेस्टिनेशन पैरामीटर सेट करें. ज़्यादा विकल्पों के लिए, डेवलपर दस्तावेज़ देखें.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 48.87697775149635,
        "longitude": 2.3592247806755564
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
       "latitude": 48.854981,
        "longitude": 2.350629
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Routes API से मिले जवाब में, आम तौर पर रास्ते के कई सुझाव शामिल होते हैं. जवाब में रास्ते का डेटा शामिल करने के लिए, फ़ील्डमास्क में "routes.legs" तय करें. हर रास्ते में कई "लेग" होते हैं. इनमें कई "चरण" होते हैं, जिनमें यात्रा की दूरी और निर्देशांक दिखाए जाते हैं. कार से पहुंचने लायक आखिरी निर्देशांक ढूंढने के लिए, चुने गए रास्ते के आखिरी चरण के "endLocation" फ़ील्ड का इस्तेमाल करें. "latitude": 48.854937299999996, "longitude": 2.3505841999999997

यह जगह शायद आपकी पहली पसंद न हो, लेकिन मैप या Google Street View पर देखने से पता चलता है कि यह जगह नॉट्रेडम से बहुत कम दूरी पर है. यहां पैदल पहुंचने में करीब 6 से 7 मिनट लगते हैं.

नोट्रे डेम जाने का रास्ता

चार्जिंग स्टेशन की पार्किंग से नौट्रे डैम तक का पैदल रास्ता

उदाहरण 1 के लिए जवाब

जैसा कि आप देख सकते हैं, कार के लिए पार्किंग की जगह खोजने के लिए, सिर्फ़ कुछ एपीआई कॉल की ज़रूरत होती है. इसके बाद, ड्राइवर को सुझाव दिखाया जाता है. इससे आपके उपयोगकर्ताओं का समय बचता है, क्योंकि उन्हें एकतरफ़ा सड़कों पर ड्राइव नहीं करना पड़ता या किसी लोकप्रिय पर्यटन स्थल पर कार पार्क करने के लिए जगह नहीं ढूंढनी पड़ती. खास जानकारी के तौर पर, हमने ये एपीआई अनुरोध किए हैं:

  • नोट्रे डेम के निर्देशांक ढूंढने के लिए, Places API की मदद से टेक्स्ट खोज का अनुरोध
  • Places API की आस-पास की खोज सुविधा का इस्तेमाल करके, उन निर्देशांकों से 500 मीटर के दायरे में इलेक्ट्रिक कार चार्जिंग स्टेशन वाली पार्किंग की जगह ढूंढना
  • चार्जिंग स्टेशन तक जाने का रास्ता खोजने के लिए, Routes API का अनुरोध

दूसरा उदाहरण - बड़े हवाई अड्डे के टर्मिनल तक पहुंचने के लिए निर्देश देना

हीथ्रो एयरपोर्ट का मैप

एक और उदाहरण पर विचार करें, जिसमें ड्राइवर को एक बड़े इलाके में जाना है. इस इलाके में कई जगहें, दिलचस्पी की जगहें या संभावित ड्रॉप-ऑफ़ पॉइंट हैं. ड्राइवर, यूके के वेम्बली स्टेडियम (51.557263604707224, -0.2794575145680608) से निकल रहा है और उसे लंदन हीथ्रो एयरपोर्ट के टर्मिनल 5 पर जाना है.

Places API की ऑटोकंप्लीट सुविधा की सबसे अच्छी बात यह है कि इसमें मुख्य टाइप को खोज के मानदंड के तौर पर तय करने की सुविधा मिलती है. साथ ही, एपीआई संभावित खोज नतीजों के तौर पर उप-परिसरों का अनुमान लगाता है. इस मामले में इसका मतलब है कि हवाई अड्डे और पार्किंग की जगहें खोजने पर, टर्मिनल या कार पार्क भी दिखेंगे. दस्तावेज़ में जाकर, शामिल या बाहर रखे जाने वाले टाइप की पूरी सूची देखी जा सकती है.

curl -X POST -d '{
  "input": "Heathrow",
  "includedPrimaryTypes": ["airport", "parking"]
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
https://places.googleapis.com/v1/places:autocomplete

ऊपर दी गई क्वेरी से हमें टर्मिनल और उन टर्मिनल पर मौजूद ड्रॉप-ऑफ़ पॉइंट की सूची मिलती है. नतीजों की सूची में, हमें "लंदन हीथ्रो एयरपोर्ट टर्मिनल 5" और उसका प्लेस आईडी मिल सकता है:

"place_id" : "ChIJo21hnPxxdkgRksRL0KQRWII",

"placeId" पैरामीटर का इस्तेमाल करके, हम Routes API को बता सकते हैं कि हम किसी जगह पर पहुंचना चाहते हैं, न कि किसी मनमाने निर्देशांक पर.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 51.557263604707224,
        "longitude": -0.2794575145680608
      }
    }
  },
  "destination":{
    "placeId": "ChIJo21hnPxxdkgRksRL0KQRWII"
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

पिछले उदाहरण की तरह, JSON रिस्पॉन्स में दिए गए सभी चरणों को पढ़कर, आपको यात्रा का आखिरी हिस्सा और मंज़िल के अक्षांश और देशांतर के निर्देशांक (51.4714348, "longitude": -0.48967890000000003) मिल जाएंगे.

टर्मिनल 5 का Street View

उदाहरण 2 के लिए जवाब

पिछले उदाहरण की तरह, ड्राइवर को बेहतर दिशा-निर्देश देने के लिए, डेवलपमेंट में बहुत कम मेहनत लगती है. साथ ही, ड्राइवर के समय की बचत के फ़ायदों का आकलन किया जा सकता है. हमने ये अनुरोध किए हैं:

  • हीथ्रो एयरपोर्ट के टर्मिनल 5 को खोजने के लिए, Places API की अपने-आप पूरी होने वाली सुविधा (नई) का अनुरोध
  • वेंबली से टर्मिनल 5 तक का रास्ता पाने के लिए Routes API का अनुरोध

इस उदाहरण में, Places API की नई सुविधाओं के बारे में सिर्फ़ सामान्य जानकारी दी गई है. जगह के कुछ नए टाइप देखें. जैसे, हवाई पट्टी और अंतरराष्ट्रीय हवाई अड्डा.

नतीजा

जैसा कि आप देख सकते हैं, कार से यात्रा करने वाले खरीदारों को प्रीमियम सेवा देने के लिए, आपको ज़्यादा मेहनत करने की ज़रूरत नहीं है. साथ ही, यह भी दिखाया जा सकता है कि आप खरीदारों की ज़रूरतों के बारे में कैसे सोच रहे हैं.

डेवलपमेंट के लिए, कई लाइब्रेरी और टूल उपलब्ध हैं. इनका इस्तेमाल करके, अपने ग्राहकों के लिए सेवाएं बनाई जा सकती हैं. Google Maps Platform के लिए, GitHub के सार्वजनिक तौर पर उपलब्ध डेटा स्टोर करने की जगह देखें.

अगली कार्रवाइयां

GMP का इस्तेमाल शुरू करना : https://developers.google.com/maps/get-started

इस बारे में और पढ़ें

Places API ऑटोकंप्लीट (नया) के बारे में दस्तावेज़ : https://developers.google.com/maps/documentation/places/web-service/place-autocomplete

Routes API का दस्तावेज़ : https://developers.google.com/maps/documentation/routes

योगदानकर्ता

मुख्य लेखक: मिको तोइवानन | Google Maps Platform Solutions Engineer