סכימה של כתובת URL של מפות Google ל-iOS

במכשירים עם iOS 9 ואילך, תוכלו להשתמש בקישורים אוניברסליים כדי להפעיל את מפות Google אם יש לכם כתובת URL של מפות Google.

אפשר להשתמש בסכימת כתובת ה-URL של מפות Google כדי להפעיל את אפליקציית מפות Google ל-iOS, לבצע חיפושים, לקבל בקשות למסלולים ולהציג תצוגות מפה. כשמפעילים את מפות Google, מזהה החבילה נשלח באופן אוטומטי כחלק מהבקשה.

לא צריך מפתח Google API כדי להשתמש בסכמת כתובת ה-URL של מפות Google.

מפות Google ל-iOS תומך בקישורים אוניברסליים במכשירים עם iOS 9 ואילך.

אם כתובת ה-URL תואמת לביטוי הרגולרי הבא, ובמכשיר פועלת מערכת 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"]];

סקירה כללית

סכימת כתובות URL מאפשרת להפעיל אפליקציה מקורית ל-iOS מאפליקציה אחרת או מאפליקציית אינטרנט אחרת ל-iOS. אפשר להגדיר אפשרויות בכתובת ה-URL שיועברו לאפליקציה שמופעלת. אפליקציית מפות Google ל-iOS תומכת בסכמות הבאות של כתובות URL:

  • comgooglemaps:// ו-comgooglemaps-x-callback:// – הסכימות האלה מאפשרות להפעיל את האפליקציה מפות Google ל-iOS ולבצע אחת מכמה פעולות:

    • הצגת מפה במיקום מסוים ושינוי מרחק התצוגה.
    • חיפוש מיקומים או מקומות והצגתם במפה.
    • מבקשים מסלול ממיקום אחד למיקום אחר. אפשר להחזיר את המסלול בארבעה אמצעי תחבורה: נהיגה, הליכה, רכיבה על אופניים ותחבורה ציבורית.
    • הוספת ניווט לאפליקציה
    • ב-iOS 8, מבצעים קריאה חוזרת (callback) כשהאפליקציה מסתיימת, באמצעות comgooglemaps-x-callback://. לעיתים קרובות משתמשים בקריאות חוזרות (callback) כדי להחזיר משתמש לאפליקציה שפותחה במקור את מפות Google ל-iOS. שימו לב שב-iOS 9, המערכת מספקת באופן אוטומטי קישור 'Back to' (חזרה אל) בפינה השמאלית של שורת הסטטוס.
  • comgooglemapsurl:// - התוכנית הזו מאפשרת להפעיל את אפליקציית מפות Google ל-iOS באמצעות כתובת URL שנגזרת מהאתר של מפות Google למחשב. המשמעות היא שאתה יכול לספק למשתמשים חוויה מקורית בנייד במקום לטעון את האתר של מפות Google.

    • כתובת ה-URL המקורית יכולה להיות עבור maps.google.com, או עבור google.com/maps, או באמצעות כל דומיין מדינה חוקי ברמה העליונה במקום com. אפשר גם להעביר ל-goo.gl/maps כתובות URL להפניה אוטומטית.
    • אפשר לבצע קריאה חוזרת (callback) באמצעות הפרמטרים x-source ו-x-success עם סכימת כתובת ה-URL comgooglemapsurl://.

השקת האפליקציה מפות Google ל-iOS וביצוע פונקציה ספציפית

כדי להפעיל את אפליקציית מפות Google ל-iOS ואפשר לבצע אחת מהפונקציות הנתמכות, תוכלו להשתמש בסכמה של כתובות URL בתבנית הבאה:

comgooglemaps://?parameters

או:

comgooglemaps-x-callback://?parameters

הפרמטרים מתוארים בפירוט בהמשך מסמך זה.

בודקים את הזמינות של אפליקציית מפות Google במכשיר

לפני שמציגים אחת מכתובות ה-URL האלה למשתמש באפליקציה, צריך קודם לוודא שהאפליקציה מותקנת. האפליקציה שלכם יכולה לבדוק שסכמת כתובות ה-URL זמינה באמצעות הקוד הבא:

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

מוצגת מפה

שימוש בסכמת כתובת ה-URL כדי להציג את המפה ברמת זום ובמיקום ספציפיים. אפשר גם להגדיר שכבות-על של תצוגות אחרות מעל המפה, או להציג תמונות Street View.

פרמטרים

כל הפרמטרים הבאים הם אופציונליים. אם לא הוגדרו פרמטרים, סכימת כתובות ה-URL תפעיל את האפליקציה מפות Google ל-iOS.

  • center: זוהי נקודת המרכז של אזור התצוגה של המפה. בפורמט של latitude,longitude כמחרוזת מופרדת בפסיקים.
  • mapmode: מגדיר את סוג המפה שמוצגת. הערך יכול להיות standard או streetview. אם המדיניות לא מוגדרת, ייעשה שימוש בהגדרות הנוכחיות של האפליקציה.
  • views: הפעלה או השבתה של תצוגות מסוימות. אפשר להגדיר את הערכים הבאים: satellite, traffic או transit. אפשר להגדיר כמה ערכים באמצעות מפריד פסיקים. אם מציינים את הפרמטר ללא ערך, כל התצוגות המפורטות יוסרו.
  • zoom: מציין את רמת המרחק מהתצוגה של המפה.

בכתובת ה-URL לדוגמה מוצגת המפה במרכז ניו יורק, בזום 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

יש להשתמש בסכימה הזו כדי להציג שאילתות חיפוש במיקום שנקבע לאזור התצוגה.

פרמטרים

בנוסף לפרמטרים שמשמשים להצגת מפה, חיפוש תומך בפרמטר q.

  • q: מחרוזת השאילתה של החיפוש.

כתובת ה-URL לדוגמה הבאה לחיפוש "פיצה" סביב המיקום שצוין:

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 ניו יורק לנמל התעופה 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 לקריאה חוזרת (callback)

אם רוצים לציין כתובת URL לקריאה חוזרת (callback), צריך להשתמש בסכמת כתובת ה-URL comgooglemaps-x-callback://. הסכמה זו תואמת למפרט של כתובת ה-URL של x-callback. כשקוראים לאפליקציית מפות Google ל-iOS עם סכימה כזו, יוצג לחצן בחלק העליון של המסך. הקשה על הלחצן הזה תפעיל קריאה חוזרת (callback) לכתובת ה-URL שציינתם.

בקשות ל-comgooglemaps-x-callback:// חייבות להיות בצורה:

comgooglemaps-x-callback://?parameters

פרמטרים

סכימת כתובת ה-URL מסוג x-callback מקבלת את אותם פרמטרים כמו סכימת כתובת ה-URL comgooglemaps://, עם הפרמטרים הנוספים הבאים. שני הפרמטרים נדרשים.

  • x-source – שם האפליקציה ששולחת את בקשת ה-x-callback. עדיף להשתמש בשמות קצרים.
  • x-success — כתובת ה-URL שאליה יש להתקשר בסיום. לעיתים קרובות זו תהיה סכמה של כתובת URL של האפליקציה שלכם, שמאפשרת למשתמשים לחזור לאפליקציה המקורית.

שימו לב שהאפליקציה צריכה לרשום סכמה משלה של כתובת URL כדי שהיא תוכל להגיב לכתובת ה-URL לקריאה חוזרת.

  1. עליך לוודא שהאפליקציה שלך רשמה סכימת כתובת URL שיכולה להגיב לבקשה לקריאה חוזרת (callback).
  2. מעבירים את התווית של לחצן הקריאה החוזרת בפרמטר x-source.
  3. מעבירים את כתובת ה-URL לקריאה חוזרת בפרמטר x-success.

הדוגמה הבאה תפעיל את האפליקציה מפות Google ל-iOS ותציג מפה שממרכזת את ניו יורק. באפליקציה יוצג גם לחצן עם הכיתוב 'SourceApp'. כשלוחצים על הלחצן SourceApp, אפליקציית מפות Google ל-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 ל-iOS זמינה במכשיר ותומכת בסכמת כתובות ה-URL מסוג x-callback. האפליקציה יכולה לבדוק שסכמת כתובות ה-URL זמינה באמצעות הקוד הבא:

Swift

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

Objective-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 ל-iOS באמצעות בקשת מסלול היא דרך קלה להעניק למשתמשים גישה לניווט במסלול מפורט מתוך האפליקציה. אפשר להשתמש בסכימות של כתובות ה-URL comgooglemaps:// או comgooglemaps-x-callback://.

קטע הקוד הזה מראה איך להשתמש בסכימה comgooglemaps-x-callback:// כדי לבקש מסלול הגעה, ואחר כך לחזור לאפליקציה כשהמשתמש מוכן. הקוד יבצע את הפעולות הבאות:

  1. צריך לוודא שסכמת כתובת ה-URL comgooglemaps-x-callback:// זמינה.
  2. מפעילים את אפליקציית מפות Google ל-iOS ומבקשים מסלול אל נמל התעופה JFK בעיר ניו יורק. כדי לבקש מסלול מהמיקום הנוכחי של המשתמש, צריך להשאיר את כתובת ההתחלה ריקה.
  3. צריך להוסיף לחצן עם התווית 'AirApp' לאפליקציית מפות Google ל-iOS. תווית הלחצן מוגדרת על ידי הפרמטר x-source.
  4. קוראים לסכימה הפיקטיבית של כתובת ה-URL, 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 ל-iOS מכתובת URL של מפות Google במחשב

אם לאפליקציה יש גישה לכתובת URL שכבר קיימת במפות Google, למשל בדף אינטרנט או במסד נתונים, תוכלו להשתמש בסכימה הזו כדי לפתוח את כתובת ה-URL באפליקציית מפות Google ל-iOS, וכך להציע למשתמשים את החוויה המקורית הטובה ביותר.

  1. צריך להחליף את הסכמה http:// או https:// ב-comgooglemapsurl://.
  2. אם רוצים להשתמש בקריאה חוזרת, יש לכלול את הפרמטרים x-source ו-x-success. הסכימה הזו פועלת בהתאם למפרט של כתובת ה-URL של x-callback.

פורמטים נתמכים של כתובות URL במפות Google

הסכמה comgooglemapsurl:// תומכת בכתובות URL שתואמות לביטוי הרגולרי הזה, כאשר {TLD} מתייחס לכל דומיין חוקי ברמה העליונה. הוספנו מעברי שורה לצורך הבהרה:

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

בדיקת הזמינות של אפליקציית מפות Google

קודם כל צריך לוודא שאפליקציית מפות Google ל-iOS זמינה במכשיר ותומכת בסכמת כתובות ה-URL:

Swift

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

Objective-C

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

דוגמאות

דוגמה לכתובת URL כללית במפות Google:

כתובת ה-URL המקורית במפות Google:

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

באמצעות סכמת כתובת ה-URL:

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

דוגמה לכתובת URL כללית במפות Google:

כתובת ה-URL המקורית במפות Google:

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

באמצעות סכמת כתובת ה-URL:

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

דוגמה לבקשת מסלול למגדל טוקיו עם x-callback:

כתובת ה-URL המקורית במפות Google:

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 ל-iOS ותציג מפה עם מסלול הגעה למגדל טוקיו, כפי שצוין בכתובת ה-URL המקורית של מפות Google (למעלה). באפליקציה יוצג גם לחצן עם הכיתוב "SourceApp". כשלוחצים על הלחצן SourceApp, אפליקציית מפות Google ל-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