iOS के लिए Google Maps की यूआरएल स्कीम

iOS 9 और उसके बाद के वर्शन वाले डिवाइसों पर, Google Maps का यूआरएल होने पर, Google Maps को लॉन्च करने के लिए यूनिवर्सल लिंक का इस्तेमाल किया जा सकता है.

iOS के लिए Google Maps ऐप्लिकेशन लॉन्च करने, खोजने, निर्देश पाने, और मैप व्यू दिखाने के लिए, Google Maps की यूआरएल स्कीम का इस्तेमाल किया जा सकता है. Google Maps लॉन्च करने पर, अनुरोध के हिस्से के तौर पर आपका बंडल आइडेंटिफ़ायर अपने-आप भेज दिया जाता है.

Google Maps की यूआरएल स्कीम का इस्तेमाल करने के लिए, आपको Google एपीआई पासकोड की ज़रूरत नहीं होती.

iOS के लिए Google Maps, iOS 9 या इसके बाद के वर्शन पर चलने वाले डिवाइस पर यूनिवर्सल लिंक के साथ काम करता है.

अगर आपका यूआरएल नीचे दिए गए रेगुलर एक्सप्रेशन से मेल खाता है और डिवाइस iOS 9 या उसके बाद पर चल रहा है, तो आप सीधे OpenURL: मेथड का इस्तेमाल कर सकते हैं.

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

उदाहरण के लिए,

Swift

UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)

Objective-C

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];

खास जानकारी

यूआरएल स्कीम की मदद से, किसी दूसरे iOS ऐप्लिकेशन या वेब ऐप्लिकेशन से नेटिव iOS ऐप्लिकेशन लॉन्च किया जा सकता है. यूआरएल में ऐसे विकल्प सेट किए जा सकते हैं जो लॉन्च किए गए ऐप्लिकेशन को भेजे जाएंगे. iOS के लिए Google Maps ऐप्लिकेशन, नीचे दी गई यूआरएल स्कीम के साथ काम करता है:

  • comgooglemaps:// और comgooglemaps-x-callback:// - ये स्कीम आपको iOS के लिए Google Maps ऐप्लिकेशन लॉन्च करने और कई में से कोई एक कार्रवाई करने की अनुमति देती हैं:

    • किसी खास जगह पर मैप दिखाएं और उसे ज़ूम करें.
    • जगहें या जगहें खोजें और उन्हें मैप पर दिखाएं.
    • एक जगह से दूसरी जगह जाने के लिए निर्देशों का अनुरोध करें. यात्रा के चार साधनों के लिए दिशा-निर्देश लौटाए जा सकते हैं: ड्राइविंग, पैदल, साइकल चलाना, और सार्वजनिक परिवहन.
    • अपने ऐप्लिकेशन में नेविगेशन जोड़ें.
    • iOS 8 से, ऐप्लिकेशन पूरा होने के बाद comgooglemaps-x-callback:// का इस्तेमाल करके कॉलबैक जारी करें. कॉलबैक का इस्तेमाल अक्सर, उपयोगकर्ता को उस ऐप्लिकेशन पर वापस भेजने के लिए किया जाता है जिसने मूल रूप से iOS के लिए Google Maps खोला था. ध्यान दें कि iOS 9 पर, सिस्टम अपने-आप स्टेटस बार के बाएं कोने में "वापस जाएं" का लिंक दिखाता है.
  • comgooglemapsurl:// - इस स्कीम की मदद से, iOS के लिए Google Maps ऐप्लिकेशन लॉन्च किया जा सकता है. इसके लिए, डेस्कटॉप पर Google Maps की वेबसाइट से मिले यूआरएल का इस्तेमाल किया जाता है. इसका मतलब है कि आप अपने उपयोगकर्ताओं को सिर्फ़ Google Maps की वेबसाइट लोड करने के बजाय, नेटिव मोबाइल अनुभव दे सकते हैं.

    • मूल यूआरएल maps.google.com या google.com/maps के लिए हो सकता है या com के बजाय किसी मान्य टॉप लेवल देश डोमेन का इस्तेमाल कर सकता है. आपके पास goo.gl/maps रीडायरेक्शन यूआरएल भी पास करने का विकल्प होता है.
    • comgooglemapsurl:// यूआरएल स्कीम के साथ, x-source और x-success पैरामीटर का इस्तेमाल करके, कॉलबैक जारी किया जा सकता है.

iOS के लिए Google Maps ऐप्लिकेशन लॉन्च करना और कोई खास काम करना

iOS के लिए Google Maps ऐप्लिकेशन लॉन्च करने और वैकल्पिक रूप से, इसके साथ काम करने वाले फ़ंक्शन में से कोई एक परफ़ॉर्म करने के लिए, नीचे दिए गए फ़ॉर्म की यूआरएल स्कीम का इस्तेमाल करें:

comgooglemaps://?parameters

या:

comgooglemaps-x-callback://?parameters

इस दस्तावेज़ में पैरामीटर के बारे में बाद में बताया गया है.

डिवाइस पर Google Maps ऐप्लिकेशन की उपलब्धता की जांच की जा रही है

अपने ऐप्लिकेशन में किसी उपयोगकर्ता को इनमें से कोई एक यूआरएल दिखाने से पहले, आपको यह पुष्टि करनी होगी कि ऐप्लिकेशन इंस्टॉल हो गया है. आपका ऐप्लिकेशन यह जांच सकता है कि यूआरएल स्कीम इस कोड के साथ उपलब्ध है या नहीं:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

उदाहरण के लिए, न्यूयॉर्क में सेंट्रल पार्क का मैप दिखाने के लिए, नीचे दिए गए कोड का इस्तेमाल करें:

Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
  UIApplication.shared.openURL(URL(string:
    "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
  print("Can't use comgooglemaps://");
}

Objective-C

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

मैप दिखाया जा रहा है

मैप को किसी खास ज़ूम लेवल और जगह पर दिखाने के लिए, यूआरएल स्कीम का इस्तेमाल करें. अपने मैप के ऊपर, दूसरे व्यू को भी ओवरले किया जा सकता है या Street View की तस्वीरें दिखाई जा सकती हैं.

पैरामीटर

ये सभी पैरामीटर ज़रूरी नहीं हैं. अगर कोई पैरामीटर सेट नहीं है, तो यूआरएल स्कीम, iOS के लिए Google Maps ऐप्लिकेशन लॉन्च करेगी.

  • center: यह मैप के व्यूपोर्ट का केंद्र बिंदु है. इसे latitude,longitude की स्ट्रिंग के तौर पर फ़ॉर्मैट किया गया है. इसे कॉमा लगाकर अलग किया गया है.
  • mapmode: यह मैप के दिखाए गए टाइप को सेट करता है. इसे standard या streetview पर सेट किया जा सकता है. अगर इसके बारे में नहीं बताया गया है, तो मौजूदा ऐप्लिकेशन सेटिंग का इस्तेमाल किया जाएगा.
  • views: खास व्यू को चालू/बंद करता है. इसे satellite, traffic या transit पर सेट किया जा सकता है. कॉमा-सेपरेटर का इस्तेमाल करके, कई वैल्यू सेट की जा सकती हैं. अगर पैरामीटर में कोई वैल्यू नहीं दी गई है, तो यह सभी व्यू हटा देगा.
  • zoom: इससे मैप का ज़ूम लेवल पता चलता है.

उदाहरण के तौर पर दिया गया यह यूआरएल, न्यूयॉर्क के केंद्र में मौजूद मैप को ज़ूम 14 पर दिखाता है, जिसमें ट्रैफ़िक व्यू इन चीज़ों पर होता है:

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

न्यूयॉर्क का ट्रैफ़िक मैप

कुछ और उदाहरण यहां दिए गए हैं:

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

व्यूपोर्ट की किसी खास जगह में खोज क्वेरी दिखाने के लिए इस स्कीम का इस्तेमाल करें.

पैरामीटर

मैप को दिखाने के लिए इस्तेमाल किए गए पैरामीटर के अलावा, Search में q पैरामीटर भी इस्तेमाल किया जा सकता है.

  • q: आपकी खोज के लिए क्वेरी स्ट्रिंग.

बताई गई जगह के आस-पास की “Pizza” की खोज करने के लिए, इस यूआरएल का उदाहरण:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

आस-पास मौजूद पिज़्ज़ा रेस्टोरेंट

कुछ और उदाहरण यहां दिए गए हैं:

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

दिशा निर्देश दिखाए जा रहे हैं

दो स्थानों के बीच दिशा-निर्देशों का अनुरोध करने और उन्हें दिखाने के लिए इस स्कीम का उपयोग करें. आपके पास यात्रा का साधन बताने का भी विकल्प है.

पैरामीटर

  • saddr: दिशा-निर्देश से जुड़ी खोजों के लिए शुरुआती पॉइंट सेट करता है. यह अक्षांश,देशांतर या क्वेरी फ़ॉर्मैट वाला पता हो सकता है. अगर यह कोई ऐसी क्वेरी स्ट्रिंग है जो एक से ज़्यादा नतीजे दिखाती है, तो पहला नतीजा चुना जाएगा. अगर वैल्यू को खाली छोड़ दिया जाता है, तो उपयोगकर्ता की मौजूदा जगह का इस्तेमाल किया जाएगा.
  • daddr: दिशा-निर्देश से जुड़ी खोजों के लिए एंड पॉइंट सेट करता है. इसका फ़ॉर्मैट और व्यवहार saddr जैसा ही है.
  • directionsmode: परिवहन का तरीका. इन्हें driving, transit, bicycling या walking पर सेट किया जा सकता है.

उदाहरण के तौर पर दिया गया यूआरएल, Google NYC और JFK हवाई अड्डे के बीच बस, मेट्रो वगैरह के रास्ते के लिए निर्देश दिखाता है:

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

ट्रांज़िट दिशानिर्देश

कुछ और उदाहरण यहां दिए गए हैं:

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

कॉलबैक यूआरएल तय करना

अगर आपको कॉलबैक यूआरएल की जानकारी देनी है, तो आपको comgooglemaps-x-callback:// यूआरएल स्कीम का इस्तेमाल करना होगा. यह स्कीम x-callback-url की खास बातों का पालन करती है. iOS के लिए Google Maps ऐप्लिकेशन को इस स्कीम से कॉल करने पर, ऐप्लिकेशन स्क्रीन के सबसे ऊपर एक बटन दिखाएगा. इस बटन पर टैप करने से, आपके बताए गए यूआरएल को कॉलबैक जारी किया जाएगा.

comgooglemaps-x-callback:// के लिए किए गए अनुरोध इस तरह के होने चाहिए:

comgooglemaps-x-callback://?parameters

पैरामीटर

x-callback यूआरएल स्कीम, इन अतिरिक्त पैरामीटर के साथ, comgooglemaps:// यूआरएल स्कीम जैसे पैरामीटर स्वीकार करती है. दोनों पैरामीटर ज़रूरी हैं.

  • x-source — x-callback अनुरोध भेजने वाले ऐप्लिकेशन का नाम. छोटे नामों को प्राथमिकता दी जाती है.
  • x-success — पूरा होने पर कॉल किया जाने वाला यूआरएल. अक्सर यह आपके ऐप्लिकेशन के लिए यूआरएल स्कीम होगी, जिससे उपयोगकर्ता ओरिजनल ऐप्लिकेशन पर वापस जा सकेंगे.

ध्यान दें कि आपके ऐप्लिकेशन को अपनी यूआरएल स्कीम खुद रजिस्टर करनी होगी, ताकि वह कॉलबैक यूआरएल का रिस्पॉन्स दे सके.

  1. पक्का करें कि आपके ऐप्लिकेशन ने ऐसी यूआरएल स्कीम रजिस्टर की है जो कॉलबैक के अनुरोध का जवाब दे सके.
  2. x-source पैरामीटर में, कॉलबैक बटन के लिए लेबल पास करें.
  3. x-success पैरामीटर में कॉलबैक यूआरएल पास करें.

नीचे दिए गए उदाहरण में, iOS के लिए Google Maps ऐप्लिकेशन लॉन्च किया जाएगा और न्यूयॉर्क पर केंद्रित मैप दिखाया जाएगा. ऐप्लिकेशन में "SourceApp" लेबल वाला बटन भी दिखेगा. "SourceApp" बटन पर क्लिक करने पर, iOS के लिए Google Maps ऐप्लिकेशन काल्पनिक यूआरएल स्कीम sourceapp://?resume=true के लिए कॉलबैक जारी करेगा.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

comgooglemaps:// यूआरएल स्कीम की तरह ही, पहले आपको इसकी पुष्टि करनी होगी कि डिवाइस पर iOS के लिए Google Maps ऐप्लिकेशन उपलब्ध है. साथ ही, यह x-callback यूआरएल स्कीम के साथ काम करता है. आपका ऐप्लिकेशन इस कोड की मदद से जांच सकता है कि यूआरएल स्कीम उपलब्ध है या नहीं:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

यह ऐसे यूआरएल का उदाहरण है जो लोगों को मिठाई की खोज करने के बाद ऐप्लिकेशन पर वापस जाने देता है.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

आपके ऐप्लिकेशन में नेविगेशन किया जा रहा है

iOS के लिए दिशा-निर्देशों के अनुरोध के साथ Google Maps ऐप्लिकेशन लॉन्च करना, अपने उपयोगकर्ताओं को ऐप्लिकेशन के मोड़-दर-मोड़ नेविगेशन का ऐक्सेस देने का आसान तरीका है. इसके लिए, comgooglemaps:// या comgooglemaps-x-callback:// यूआरएल स्कीम का इस्तेमाल किया जा सकता है.

यह कोड स्निपेट बताता है कि निर्देशों का अनुरोध करने के लिए, comgooglemaps-x-callback:// स्कीम का इस्तेमाल कैसे करें. इसके बाद, जब आपका उपयोगकर्ता खरीदारी पूरी करने के लिए तैयार हो, तब अपने ऐप्लिकेशन पर वापस कैसे आएं. कोड ये काम करेगा:

  1. पुष्टि करें कि comgooglemaps-x-callback:// यूआरएल स्कीम उपलब्ध है.
  2. iOS के लिए Google Maps ऐप्लिकेशन लॉन्च करें और न्यूयॉर्क शहर में JFK हवाई अड्डे जाने के निर्देशों का अनुरोध करें. उपयोगकर्ता की मौजूदा जगह से निर्देश पाने का अनुरोध करने के लिए, शुरुआती पते को खाली छोड़ दें.
  3. iOS के लिए Google Maps ऐप्लिकेशन में "AirApp" लेबल वाला बटन जोड़ें. बटन का लेबल, x-source पैरामीटर से तय किया जाता है.
  4. जब उपयोगकर्ता 'वापस जाएं' बटन पर क्लिक करे, तो काल्पनिक यूआरएल स्कीम को sourceapp:// कॉल करें.

Swift

let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
  let directionsRequest = "comgooglemaps-x-callback://" +
    "?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
    "&x-success=sourceapp://?resume=true&x-source=AirApp"

  let directionsURL = URL(string: directionsRequest)!
  UIApplication.shared.openURL(directionsURL)
} else {
  NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}

Objective-C

NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
  NSString *directionsRequest = @"comgooglemaps-x-callback://" +
      @"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
      @"&x-success=sourceapp://?resume=true&x-source=AirApp";
  NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
  [[UIApplication sharedApplication] openURL:directionsURL];
} else {
  NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}

Google Maps डेस्कटॉप यूआरएल से iOS के लिए Google Maps ऐप्लिकेशन लॉन्च करना

अगर आपके ऐप्लिकेशन के पास पहले से मौजूद Google Maps के यूआरएल, जैसे कि वेब पेज या डेटाबेस में मौजूद यूआरएल का ऐक्सेस है, तो इस स्कीम का इस्तेमाल करके iOS के लिए Google Maps ऐप्लिकेशन में यूआरएल खोला जा सकता है. इससे आपके उपयोगकर्ताओं को बेहतरीन अनुभव मिलेगा.

  1. http:// या https:// स्कीम को comgooglemapsurl:// से बदलें.
  2. अगर आपको कॉलबैक का इस्तेमाल करना है, तो x-source और x-success पैरामीटर शामिल करें. यह स्कीम x-callback-url की खास बातों का पालन करती है.

Google Maps पर काम करने वाले यूआरएल फ़ॉर्मैट

comgooglemapsurl:// स्कीम ऐसे यूआरएल के साथ काम करती है जो इस रेगुलर एक्सप्रेशन से मेल खाते हैं. यहां {TLD}, किसी ऐसे देश के डोमेन के आखिरी हिस्से के बारे में बताता है जो मान्य है. साफ़ तौर पर जानकारी देने के लिए, लाइन ब्रेक जोड़े जाते हैं:

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Google Maps ऐप्लिकेशन की उपलब्धता की जांच की जा रही है

सबसे पहले पुष्टि करें कि डिवाइस पर iOS के लिए Google Maps ऐप्लिकेशन उपलब्ध है और वह यूआरएल स्कीम के साथ काम करता है:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

उदाहरण

Google Maps के सामान्य यूआरएल का उदाहरण:

Google Maps का मूल यूआरएल:

https://www.google.com/maps/preview/@42.585444,13.007813,6z

यूआरएल स्कीम का इस्तेमाल करके:

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

Google Maps के सामान्य यूआरएल का उदाहरण:

Google Maps का मूल यूआरएल:

https://maps.google.com/?q=@37.3161,-122.1836

यूआरएल स्कीम का इस्तेमाल करके:

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

x-callback की मदद से, टोक्यो टावर तक पहुंचने के लिए निर्देश का अनुरोध करने का उदाहरण:

Google Maps का मूल यूआरएल:

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

नीचे दिए गए उदाहरण में, iOS के लिए Google Maps ऐप्लिकेशन लॉन्च किया जाएगा. साथ ही, टोक्यो टावर के निर्देशों के साथ मैप दिखाया जाएगा, जैसा कि Google Maps के मूल यूआरएल (ऊपर) में बताया गया है. ऐप्लिकेशन में "SourceApp" लेबल वाला बटन भी दिखेगा. "SourceApp" बटन पर क्लिक किए जाने पर, iOS के लिए Google Maps ऐप्लिकेशन, काल्पनिक यूआरएल स्कीम sourceapp://?resume=true को कॉलबैक जारी करेगा.

comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
    &x-source=SourceApp
    &x-success=sourceapp://?resume=true