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

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

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

אין צורך במפתח API של Google כדי להשתמש בסכימת כתובת ה-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, אפשר להפעיל קריאה חוזרת כשהאפליקציה מסתיימת באמצעות comgooglemaps-x-callback://. לרוב משתמשים בקריאות חזרה (callbacks) כדי להחזיר משתמש לאפליקציה שבה מפות Google ל-iOS נפתחה במקור. שימו לב שב-iOS 9, המערכת מספקת באופן אוטומטי קישור 'חזרה אל' בפינה הימנית של שורת הסטטוס.
  • comgooglemapsurl:// – התוכנית הזו מאפשרת להפעיל את אפליקציית מפות Google ל-iOS באמצעות כתובת URL שמבוססת על אתר מפות Google למחשב. כך תוכלו לספק למשתמשים חוויית שימוש מקורית בנייד, במקום פשוט לטעון את אתר מפות Google.

    • כתובת ה-URL המקורית יכולה להיות של maps.google.com, או של google.com/maps, או של כל דומיין ברמה העליונה חוקי של מדינה במקום com. אפשר גם להעביר goo.gl/maps כתובות URL להפניה אוטומטית.
    • אפשר להפעיל קריאה חוזרת באמצעות הפרמטרים 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

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

פרמטרים

בנוסף לפרמטרים שמשמשים להצגת מפה, בחיפוש Google יש תמיכה בפרמטר 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 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 לקריאה חוזרת (callback)

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

פורמטים נתמכים של כתובות 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