इस दस्तावेज़ में, Map Tiles API का इस्तेमाल शुरू करने का तरीका बताया गया है.
ज़रूरी शर्तें
इस प्रोसेस में, आपको Google Cloud खाता और बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट सेट अप करने का तरीका बताया गया है. आपको यह भी पता होना चाहिए कि Map Tiles API का इस्तेमाल करने पर, आपसे शुल्क कैसे लिया जाता है.
- Map Tiles API के इस्तेमाल और बिलिंग पेज पर जाकर, इसके इस्तेमाल के लिए बिलिंग और शुल्क की जानकारी देखें.
पुष्टि करें कि आपके पास Google Cloud खाता है.
Google Cloud Console में साइन इन करनापुष्टि करें कि आपके पास बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट है.
बिलिंग पेज पर जाएं- बिलिंग पेज खोलने के लिए, अपना प्रोजेक्ट चुनें.
बिलिंग पेज पर:
- अगर चुने गए प्रोजेक्ट के लिए बिलिंग पहले से चालू है और आपके पास सिर्फ़ एक बिलिंग खाता है, तो बिलिंग पेज खुलता है.
- अगर आपके पास एक से ज़्यादा बिलिंग खाते हैं, तो प्रोजेक्ट से जुड़े बिलिंग खाते की जानकारी देखने के लिए, लिंक किए गए बिलिंग खाते पर जाएं को चुनें.
- अगर कोई बिलिंग खाता मौजूद है, लेकिन वह प्रोजेक्ट से नहीं जुड़ा है, तो आपको प्रोजेक्ट के साथ बिलिंग खाता लिंक करने के लिए कहा जाएगा.
- अगर कोई बिलिंग खाता मौजूद नहीं है या आपको नया बिलिंग खाता बनाना है, तो नया बिलिंग खाता बनाने के लिए, बिलिंग खाते मैनेज करें को चुनें. ज़्यादा जानकारी के लिए, खुद से मैनेज किया जाने वाला नया Cloud Billing खाता बनाना लेख पढ़ें.
एपीआई को चालू करना
Map Tiles API का इस्तेमाल करने से पहले, आपको इसे अपने Google Cloud प्रोजेक्ट में चालू करना होगा. इसके लिए, Google Cloud Console या gcloud कमांड का इस्तेमाल करें.
एपीआई को चालू करने के लिए:
कंसोल
Google Cloud Console में प्रॉडक्ट पेज खोलें:
Map Tiles API को चालू करनाचालू करें बटन पर क्लिक करें.
gcloud
gcloud services enable \ --project "PROJECT" \ "tile.googleapis.com"
Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन निर्देशों के बारे में ज़्यादा जानें:
Map Tiles API के साथ इस्तेमाल करने के लिए, एपीआई पासकोड पाना
Google Maps Platform के प्रॉडक्ट को बिना अनुमति के इस्तेमाल करने से रोकने के लिए, एपीआई कॉल में एपीआई पासकोड या OAuth टोकन शामिल करना ज़रूरी है. सबसे पहले, एपीआई पासकोड जनरेट करने की प्रोसेस पूरी करनी होगी. OAuth टोकन का इस्तेमाल करने के लिए, OAuth टोकन बनाना लेख पढ़ें.
एपीआई पासकोड, अक्षरों और अंकों से बनी एक यूनीक स्ट्रिंग होती है. यह आपके Cloud बिलिंग खाते और Google Cloud प्रोजेक्ट को उस अनुरोध से जोड़ती है जो आपका ऐप्लिकेशन, Google Maps Platform API या एसडीके को भेजता है. नई कुंजी बनाने या किसी मौजूदा कुंजी में एपीआई या SDK टूल जोड़ने के लिए, यह तरीका अपनाएं.
कंसोल
-
Google Maps Platform > कुंजियां और क्रेडेंशियल पेज पर जाएं.
- अगर कहा जाए, तो अपना प्रोजेक्ट चुनें.
-
इनमें से कोई एक काम करें:
-
नई कुंजी बनाना:
- क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें.
- एपीआई पासकोड बनाएं पैनल में, एपीआई से जुड़ी पाबंदियां चुनें सूची खोलें.
- ऐसे सभी एपीआई हटाएं जिनकी इस पासकोड को ज़रूरत नहीं है. साथ ही, पक्का करें कि Map Tiles API चुना हुआ रहे.
- बनाएं पर क्लिक करें. पैनल में आपका नया एपीआई पासकोड दिखता है.
-
किसी मौजूदा कुंजी का इस्तेमाल करना:
- कुंजी के नाम पर क्लिक करें.
- एपीआई से जुड़ी पाबंदियां चुनें सूची में, Map Tiles API चुनें.
- सेव करें पर क्लिक करें.
यहां किसी एपीआई को चुनने से वह चालू नहीं होता. पक्का करें कि Map Tiles API, एपीआई लाइब्रेरी पेज पर चालू हो.
-
- कुंजी की स्ट्रिंग को बाद में देखने के लिए, कुंजियां और क्रेडेंशियल पेज पर जाएं. इसके बाद, कुंजी के लिए कुंजी दिखाएं पर क्लिक करें.
अगर कंसोल इन चरणों से अलग दिखता है, तो Google Cloud के दस्तावेज़ में जाकर, एपीआई पासकोड बनाना और एपीआई से जुड़ी पाबंदियां जोड़ना लेख पढ़ें.
gcloud
यहां दिए गए कमांड में, PROJECT_ID की जगह अपना प्रोजेक्ट आईडी डालें.
-
नई कुंजी बनाएं: यहां दिया गया निर्देश चलाएं और DISPLAY_NAME को कुंजी के नाम से बदलें.
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=tile.googleapis.com
Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन निर्देशों के बारे में ज़्यादा जानें:
-
किसी मौजूदा कुंजी का इस्तेमाल करना: यह कमांड चलाएं और KEY_ID को कुंजी के आईडी से बदलें.
--appendफ़्लैग, उन एपीआई को बनाए रखता है जिनकी अनुमति कुंजी पहले से देती है. इसके बिना, कमांड उन्हें बदल देता है.gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=tile.googleapis.com
Google Cloud SDK, Cloud SDK को इंस्टॉल करने, और इन निर्देशों के बारे में ज़्यादा जानें:
कुंजी का आईडी, कुंजी की स्ट्रिंग या डिसप्ले नेम नहीं होता. इसे ढूंढने के लिए,
gcloud services api-keys list --project="PROJECT_ID"चलाएं. आईडी,nameफ़ील्ड का आखिरी हिस्सा होता है:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.
की स्ट्रिंग देखने के लिए,
gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID" चलाएं.
एपीआई अनुरोध करना
Map Tiles API को अनुरोध भेजकर, 2D मैप टाइल के सेशन टोकन वाली क्वेरी के लिए JSON रिस्पॉन्स पाएं. आपको हर अनुरोध के साथ अपने एपीआई पासकोड की अक्षर और अंक वाली स्ट्रिंग शामिल करनी होगी. साथ ही, एपीआई पासकोड वाले अनुरोधों के लिए एचटीटीपीएस का इस्तेमाल करना होगा.
कुंजी की अक्षरों और अंकों वाली स्ट्रिंग डालने के लिए, नीचे दिए गए कोड में API_KEY पर क्लिक करें:
curl -X POST \ -H "Content-Type: application/json" \ -d '{ "mapType": "roadmap", "language": "en-US", "region": "US" }' \ "https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"curlकमांड को कॉपी करने के लिए, कोड सैंपल में मौजूद कॉपी करें आइकॉन
पर क्लिक करें.- कमांड को टर्मिनल विंडो में चिपकाएं और उसे चलाएं.
रिस्पॉन्स, इस फ़ॉर्म में एक JSON ऑब्जेक्ट होता है:
{ "session": "AJVsH2yfm-qbTsquzjqT_mZpa6zjxUDJHQayGufwg", "expiry": "1738183946", "tileWidth": 256, "imageFormat": "png", "tileHeight": 256 }
एपीआई पासकोड से जुड़ी पाबंदियां लागू करना
Google का सुझाव है कि आप अपने एपीआई पासकोड पर पाबंदियां लगाएं. इसके लिए, उनका इस्तेमाल सिर्फ़ उन एपीआई और ऐप्लिकेशन तक सीमित करें जिन्हें उनकी ज़रूरत है. एपीआई पासकोड पर पाबंदियां लगाने से, आपके ऐप्लिकेशन को सुरक्षा मिलती है. इससे ऐप्लिकेशन को बिना अनुमति वाले अनुरोधों से सुरक्षित रखा जा सकता है. एपीआई पासकोड पर दो तरह की पाबंदियां लगाई जा सकती हैं:
- एपीआई से जुड़ी पाबंदियों से पता चलता है कि एपीआई पासकोड का इस्तेमाल करके, किन एसडीके और एपीआई को कॉल किया जा सकता है. कुंजी बनाते समय, कंसोल और gcloud सीएलआई के लिए, एपीआई पर कम से कम एक पाबंदी लगाना ज़रूरी है.
- ऐप्लिकेशन से जुड़ी पाबंदियों से पता चलता है कि कौनसी वेबसाइटें, आईपी पते या ऐप्लिकेशन, एपीआई पासकोड का इस्तेमाल कर सकते हैं.
पाबंदियां लगाने के बारे में ज़्यादा जानकारी के लिए, एपीआई पासकोड पर पाबंदी लगाना लेख पढ़ें.
OAuth टोकन बनाना
Map Tiles API, पुष्टि करने के लिए OAuth 2.0 के साथ काम करता है. Google, OAuth 2.0 के सामान्य मामलों के साथ काम करता है. जैसे, वेब सर्वर के मामले.
इस दस्तावेज़ में, आपके डेवलपमेंट एनवायरमेंट में Map Tiles API कॉल को OAuth टोकन पास करने का तरीका बताया गया है. प्रोडक्शन एनवायरमेंट में OAuth का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करने के तरीके देखें.
सर्वर को एपीआई अनुरोध भेजकर, Google Maps API को सीधे कॉल किया जा सकता है. इसके अलावा, अपने कोड को आसान बनाने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल किया जा सकता है. Google Maps, Go, Java, Node.js, और Python के लिए क्लाइंट लाइब्रेरी उपलब्ध कराता है. ज़्यादा जानकारी के लिए, Map Tiles API की क्लाइंट लाइब्रेरी देखें.
OAuth के बारे में खास जानकारी
डिप्लॉयमेंट एनवायरमेंट के आधार पर, OAuth की मदद से ऐक्सेस टोकन बनाने और उन्हें मैनेज करने के कई तरीके हैं.
अपने ऐप्लिकेशन और Google की किसी सेवा के बीच सर्वर-टू-सर्वर इंटरैक्शन के लिए, OAuth 2.0 का इस्तेमाल किया जा सकता है. इस मामले में, आपको किसी उपयोगकर्ता के बजाय, अपने ऐप्लिकेशन से जुड़े सेवा खाते का इस्तेमाल करना होगा. सेवा खाते का इस्तेमाल करके, उपयोगकर्ताओं को सीधे तौर पर शामिल किए बिना एपीआई अनुरोध किए जा सकते हैं. पुष्टि करने के तरीकों के बारे में ज़्यादा जानने के लिए, Google पर पुष्टि करने के तरीके लेख पढ़ें.
इसके अलावा, Map Tiles API को Android या iOS मोबाइल ऐप्लिकेशन में इंटिग्रेट किया जा सकता है. डिप्लॉयमेंट के अलग-अलग एनवायरमेंट के लिए, OAuth का इस्तेमाल करने और ऐक्सेस टोकन मैनेज करने के बारे में ज़्यादा जानने के लिए, Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करना लेख पढ़ें.
OAuth के दायरे
Map Tiles API के साथ OAuth का इस्तेमाल करने के लिए, आपको OAuth टोकन को यह दायरा असाइन करना होगा:
https://www.googleapis.com/auth/cloud-platform
उदाहरण: अपने लोकल डेवलपमेंट एनवायरमेंट में REST API कॉल आज़माना
अगर आपके पास टोकन जनरेट करने वाला एनवायरमेंट नहीं है और आपको OAuth टोकन के साथ Map Tiles API को आज़माना है, तो इस सेक्शन में दिया गया तरीका अपनाएं.
इस उदाहरण में, कॉल करने के लिए ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल (एडीसी) से मिले OAuth टोकन का इस्तेमाल करने का तरीका बताया गया है. क्लाइंट लाइब्रेरी की मदद से Google API को कॉल करने के लिए, एडीसी का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, क्लाइंट लाइब्रेरी का इस्तेमाल करके पुष्टि करना लेख पढ़ें.
यहां दी गई REST प्रोसेस का इस्तेमाल सिर्फ़ डेवलपमेंट या टेस्टिंग के लिए करें, प्रोडक्शन के लिए नहीं.
ज़रूरी शर्तें
एडीसी का इस्तेमाल करके REST अनुरोध करने से पहले, एडीसी को क्रेडेंशियल देने के लिए gcloud सीएलआई का इस्तेमाल करें:
gcloudसीएलआई को इंस्टॉल करें और उसे शुरू करें. ज़्यादा जानकारी के लिए, gcloud सीएलआई इंस्टॉल करें लेख पढ़ें.gcloudसीएलआई की मदद से पुष्टि करें:gcloud auth application-default login
एडीसी की इस्तेमाल की जाने वाली लोकल क्रेडेंशियल फ़ाइल में अपने क्रेडेंशियल सेव करने के लिए, साइन इन करने की प्रोसेस पूरी करें.
ज़्यादा जानकारी के लिए, लोकल डेवलपमेंट एनवायरमेंट के लिए एडीसी सेट अप करना लेख पढ़ें.
REST अनुरोध करना
इस उदाहरण में, आप दो अनुरोध का हेडर पास करते हैं:
टोकन जनरेट करने के लिए, इस कमांड का इस्तेमाल करके
Authorizationहेडर में OAuth टोकन पास करें:gcloud auth application-default print-access-tokenवापस किए गए टोकन का दायरा
https://www.googleapis.com/auth/cloud-platformहै.अपने उस Google Cloud प्रोजेक्ट का आईडी या नाम पास करें जिसके लिए
X-Goog-User-Projectहेडर में बिलिंग की सुविधा चालू है.
OAuth टोकन का इस्तेमाल करके Map Tiles API को कॉल करने के लिए, यह तरीका अपनाएं:
यहां दिए गए कोड सैंपल में, PROJECT_ID की जगह अपना Google Cloud प्रोजेक्ट आईडी डालें.
नीचे दिए गए उदाहरण में, 2D मैप टाइल को ऐक्सेस किया गया है. फ़ोटोरियलिस्टिक 3D टाइल के लिए, 3D टाइल रेंडरर का इस्तेमाल करें. ज़्यादा जानकारी के लिए, 3D टाइल रेंडरर के साथ काम करना लेख पढ़ें.
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" -d '{ "mapType": "roadmap", "language": "en-US", "region": "US" }' \ "https://tile.googleapis.com/v1/createSession"curlकमांड को कॉपी करने के लिए, कोड सैंपल में कॉपी करें पर क्लिक करें.कमांड को टर्मिनल विंडो में चिपकाएं और फिर उसे चलाएं.
रिस्पॉन्स, एक JSON ऑब्जेक्ट है:
{
"session": "AJVsH2yfm-qbTsquzjqT_mZpa6zjxUDJHQayGufwg",
"expiry": "1738183946",
"tileWidth": 256,
"imageFormat": "png",
"tileHeight": 256
}
समस्या का हल
अगर आपके अनुरोध पर गड़बड़ी का यह मैसेज मिलता है कि यह एपीआई असली उपयोगकर्ता के क्रेडेंशियल के साथ काम नहीं करता, तो एडीसी सेटअप से जुड़ी समस्या हल करना लेख पढ़ें.
आगे क्या करना है
2D टाइल पाना
पुष्टि करने की सुविधा को कॉन्फ़िगर करने के बाद, सेशन टोकन बनाएं. इसके बाद, 2D मैप टाइल और Street View टाइल के लिए किए जाने वाले अनुरोधों में, अपने एपीआई पासकोड या OAuth टोकन और सेशन टोकन का इस्तेमाल करें.
3D टाइल पाएं
पुष्टि करने की प्रोसेस कॉन्फ़िगर करने के बाद, आपको 3D टाइल मिल सकती हैं.
3D टाइल के बारे में खास जानकारी