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

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

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

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

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:// - इस स्कीम की मदद से, डेस्कटॉप पर Google Maps की वेबसाइट से मिले यूआरएल का इस्तेमाल करके, iOS के लिए Google Maps ऐप्लिकेशन को लॉन्च किया जा सकता है. इसका मतलब है कि आप अपने उपयोगकर्ताओं को सिर्फ़ Google Maps की वेबसाइट लोड करने के बजाय, उन्हें मूल मोबाइल अनुभव दे सकते हैं.

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

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

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

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 पर सेट किया जा सकता है.

उदाहरण URL 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