Google Maps URL Scheme برای iOS، Google Maps URL Scheme برای iOS

در دستگاه‌هایی که iOS 9 و نسخه‌های جدیدتر دارند، می‌توانید از Universal Links برای راه‌اندازی Google Maps زمانی که URL Google Maps دارید استفاده کنید.

می‌توانید از طرح URL نقشه‌های Google برای راه‌اندازی برنامه Google Maps برای iOS و انجام جستجوها، دریافت درخواست‌های جهت و نمایش نماهای نقشه استفاده کنید. وقتی Google Maps را راه اندازی می کنید، شناسه بسته شما به طور خودکار به عنوان بخشی از درخواست ارسال می شود.

برای استفاده از طرح URL نقشه های گوگل نیازی به کلید Google API ندارید.

Google Maps برای iOS از پیوندهای جهانی در دستگاه‌هایی که iOS 9 یا بالاتر دارند پشتیبانی می‌کند.

اگر URL شما با عبارت عادی زیر مطابقت دارد و دستگاه دارای iOS 9 یا جدیدتر است، ممکن است بخواهید مستقیماً از روش openURL: استفاده کنید.

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

به عنوان مثال،

سویفت

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

هدف-C

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

نمای کلی

یک طرح URL به شما امکان می دهد یک برنامه iOS بومی را از یک برنامه iOS دیگر یا یک برنامه وب راه اندازی کنید. می توانید گزینه هایی را در URL که به برنامه راه اندازی شده ارسال می شود تنظیم کنید. برنامه Google Maps برای iOS از طرح های URL زیر پشتیبانی می کند:

  • comgooglemaps:// و comgooglemaps-x-callback:// - این طرح‌ها به شما امکان می‌دهند برنامه Google Maps را برای iOS راه‌اندازی کنید و یکی از چندین عمل را انجام دهید:

    • یک نقشه را در یک مکان مشخص و سطح بزرگنمایی نمایش دهید.
    • مکان ها یا مکان ها را جستجو کنید و آنها را روی نقشه نمایش دهید.
    • درخواست مسیرها از یک مکان به مکان دیگر. مسیرها را می توان برای چهار حالت حمل و نقل بازگرداند: رانندگی، پیاده روی، دوچرخه سواری و حمل و نقل عمومی.
    • ناوبری را به برنامه خود اضافه کنید.
    • از طریق iOS 8، پس از تکمیل برنامه، با استفاده از comgooglemaps-x-callback:// یک تماس پاسخ صادر کنید. پاسخ به تماس اغلب برای بازگرداندن کاربر به برنامه ای که در ابتدا Google Maps را برای iOS باز کرده بود، استفاده می شود. توجه داشته باشید که در iOS 9، سیستم به طور خودکار پیوند "بازگشت به" را در گوشه سمت چپ نوار وضعیت ارائه می دهد.
  • comgooglemapsurl:// - این طرح به شما امکان می دهد برنامه Google Maps را برای iOS با استفاده از URL مشتق شده از وب سایت دسکتاپ Google Maps راه اندازی کنید. این بدان معنی است که شما می توانید به جای بارگیری ساده وب سایت Google Maps، یک تجربه بومی تلفن همراه را به کاربران خود بدهید.

    • URL اصلی می تواند برای maps.google.com یا برای google.com/maps باشد یا از هر دامنه معتبر کشور سطح بالای معتبر به جای com استفاده کند. همچنین می‌توانید URLهای تغییر مسیر goo.gl/maps را ارسال کنید.
    • می توانید با استفاده از پارامترهای x-source و x-success با طرح URL comgooglemapsurl:// یک تماس برگشتی صادر کنید.

راه اندازی برنامه Google Maps برای iOS و انجام یک عملکرد خاص

برای راه اندازی برنامه Google Maps برای iOS و انجام اختیاری یکی از عملکردهای پشتیبانی شده، از یک طرح URL به شکل زیر استفاده کنید:

comgooglemaps://?parameters

یا:

comgooglemaps-x-callback://?parameters

پارامترها بعداً در این سند به تفصیل توضیح داده می شوند.

بررسی در دسترس بودن برنامه Google Maps در دستگاه

قبل از ارائه یکی از این URL ها به یک کاربر در برنامه خود، ابتدا باید تأیید کنید که برنامه نصب شده است. برنامه شما می تواند بررسی کند که طرح URL با کد زیر در دسترس است:

سویفت

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

هدف-C

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

برای مثال برای نمایش نقشه سنترال پارک در نیویورک می توانید از کد زیر استفاده کنید:

سویفت

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://");
}

هدف-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://");
}

نمایش نقشه

از طرح URL برای نمایش نقشه در سطح بزرگنمایی و مکان مشخص استفاده کنید. همچنین می توانید نماهای دیگر را در بالای نقشه خود قرار دهید یا تصاویر نمای خیابان را نمایش دهید.

پارامترها

تمام پارامترهای زیر اختیاری هستند. اگر هیچ پارامتری تنظیم نشده باشد، طرح URL برنامه Google Maps را برای iOS راه اندازی می کند.

  • 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 تنظیم کرد.

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

تعیین URL برگشت به تماس

اگر می‌خواهید URL بازگشت به تماس را مشخص کنید، باید از طرح URL comgooglemaps-x-callback:// استفاده کنید. این طرح به مشخصات x-callback-url پایبند است. وقتی با این طرح با برنامه Google Maps برای iOS تماس می‌گیرید، برنامه دکمه‌ای را در بالای صفحه نمایش می‌دهد. با ضربه زدن روی این دکمه، یک URL که شما مشخص کرده‌اید، پاسخ تماس می‌دهد.

درخواست‌ها به comgooglemaps-x-callback:// باید به شکل زیر باشد:

comgooglemaps-x-callback://?parameters

پارامترها

طرح URL بازگشت به فراخوان x همان پارامترهای طرح URL comgooglemaps:// را با پارامترهای اضافی زیر می پذیرد. هر دو پارامتر مورد نیاز است.

  • x-source - نام برنامه ای که درخواست بازگشت به تماس x را ارسال می کند. نام های کوتاه ترجیح داده می شود.
  • x-success - نشانی اینترنتی برای تماس پس از تکمیل. اغلب این یک طرح URL برای برنامه شخصی شما است که به کاربران امکان می دهد به برنامه اصلی بازگردند.

توجه داشته باشید که برنامه شما باید طرح URL خود را ثبت کند تا بتواند به URL بازگشت به تماس پاسخ دهد.

  1. اطمینان حاصل کنید که برنامه شما یک طرح URL را ثبت کرده است که می تواند به درخواست پاسخ به تماس پاسخ دهد.
  2. برچسب دکمه برگشت تماس را در پارامتر x-source ارسال کنید.
  3. URL بازگشت به تماس را در پارامتر x-success ارسال کنید.

مثال زیر برنامه Google Maps را برای iOS راه اندازی می کند و نقشه ای را در مرکز نیویورک نمایش می دهد. این برنامه همچنین دکمه ای با عنوان "SourceApp" را نمایش می دهد. وقتی روی دکمه «SourceApp» کلیک می‌شود، برنامه Google Maps برای iOS به یک طرح URL ساختگی، sourceapp://?resume=true پاسخ تماس می‌دهد.

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

همانند طرح URL comgooglemaps:// ، ابتدا باید بررسی کنید که برنامه Google Maps برای iOS در دستگاه موجود است و از طرح URL بازگشت به تماس x پشتیبانی می کند. برنامه شما می تواند بررسی کند که طرح URL با کد زیر در دسترس است:

سویفت

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

هدف-C

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

این نمونه ای از URL است که به کاربران اجازه می دهد پس از جستجوی دسر به یک برنامه بازگردند.

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

اضافه کردن ناوبری به برنامه شما

راه‌اندازی برنامه Google Maps برای iOS با درخواست مسیر راهی آسان برای دسترسی کاربران به پیمایش گام به گام از برنامه شما است. می توانید از طرح های URL comgooglemaps:// یا comgooglemaps-x-callback:// استفاده کنید.

این قطعه کد نحوه استفاده از طرح comgooglemaps-x-callback:// برای درخواست مسیرها نشان می‌دهد و پس از آماده شدن کاربر به برنامه خود بازگردید. کد به صورت زیر عمل خواهد کرد:

  1. بررسی کنید که طرح URL comgooglemaps-x-callback:// در دسترس است.
  2. برنامه Google Maps را برای iOS راه اندازی کنید و برای فرودگاه JFK در شهر نیویورک راهنمایی بخواهید. برای درخواست مسیرها از مکان فعلی کاربر، آدرس شروع را خالی بگذارید.
  3. یک دکمه با عنوان "AirApp" را به برنامه Google Maps برای iOS اضافه کنید. برچسب دکمه با پارامتر x-source تعریف می شود.
  4. هنگامی که کاربران روی دکمه برگشت کلیک کردند، طرح URL ساختگی، sourceapp:// را فراخوانی کنید.

سویفت

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.")
}

هدف-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 از URL دسکتاپ Google Maps

اگر برنامه شما به یک URL از قبل موجود در Google Maps دسترسی دارد، مانند یک صفحه وب یا در یک پایگاه داده، می توانید از این طرح برای باز کردن URL در برنامه Google Maps برای iOS استفاده کنید، بنابراین بهترین تجربه بومی را به کاربران خود ارائه دهید. .

  1. طرح http:// یا https:// را با comgooglemapsurl:// جایگزین کنید.
  2. اگر می‌خواهید از تماس برگشتی استفاده کنید، پارامترهای x-source و x-success را وارد کنید. این طرح به مشخصات x-callback-url پایبند است.

پشتیبانی از فرمت های URL نقشه های گوگل

طرح comgooglemapsurl:// از URL هایی پشتیبانی می کند که با این عبارت معمولی مطابقت دارند، جایی که {TLD} به هر دامنه معتبر کشور سطح بالا اشاره دارد. برای وضوح خط شکاف اضافه شده است:

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

بررسی در دسترس بودن برنامه Google Maps

ابتدا بررسی کنید که برنامه Google Maps برای iOS در دستگاه موجود است و از طرح URL پشتیبانی می کند:

سویفت

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

هدف-C

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

نمونه ها

نمونه ای از URL عمومی نقشه های گوگل:

URL اصلی نقشه های گوگل:

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

با استفاده از طرح URL:

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

نمونه ای از URL عمومی نقشه های گوگل:

URL اصلی نقشه های گوگل:

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

با استفاده از طرح URL:

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

مثال درخواست مسیر به برج توکیو با x-callback:

URL اصلی نقشه های گوگل:

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

مثال زیر برنامه Google Maps را برای iOS راه‌اندازی می‌کند و نقشه‌ای را با مسیرهای برج توکیو، همانطور که در URL اصلی Google Maps (در بالا) مشخص شده است، نشان می‌دهد. این برنامه همچنین دکمه ای با عنوان "SourceApp" را نمایش می دهد. وقتی روی دکمه «SourceApp» کلیک می‌شود، برنامه Google Maps برای iOS به یک طرح URL ساختگی، 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