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

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

Google Maps के यूआरएल स्कीम का इस्तेमाल करके, iOS के लिए 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:// का इस्तेमाल करें. कॉलबैक का इस्तेमाल अक्सर, उपयोगकर्ता को उस ऐप्लिकेशन पर वापस ले जाने के लिए किया जाता है जिसने Google Maps for iOS को पहली बार खोला था. ध्यान दें कि iOS 9 पर, सिस्टम स्टेटस बार के बाएं कोने में "Back to" लिंक अपने-आप उपलब्ध कराता है.
  • 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 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: खोज के लिए क्वेरी स्ट्रिंग.

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

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