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

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

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

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

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

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

(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 मैप खोला गया था. ध्यान दें कि 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: आपकी खोज के लिए क्वेरी स्ट्रिंग.

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

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

कॉलबैक URL तय करना

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

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

comgooglemaps-x-callback://?parameters

पैरामीटर

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

  • x-source — x-कॉलबैक का अनुरोध भेजने वाले ऐप्लिकेशन का नाम. छोटे नामों को प्राथमिकता दी जाती है.
  • 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

एक्स-कॉलबैक के साथ टोक्यो टावर तक जाने के लिए निर्देशों का अनुरोध करने का उदाहरण:

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