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:// का इस्तेमाल करके कॉलबैक जारी करें. कॉलबैक का इस्तेमाल अक्सर, उपयोगकर्ता को उस ऐप्लिकेशन पर वापस लाने के लिए किया जाता है जिसने मूल रूप से 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 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 ऐप्लिकेशन लॉन्च होगा और Tokyo Tower के निर्देशों वाला मैप दिखेगा. यह मैप, ऊपर दिए गए 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