סכימה של כתובת 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://. לרוב משתמשים בקריאות חזרה (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

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

פרמטרים

בנוסף לפרמטרים שמשמשים להצגת מפה, החיפוש תומך בפרמטר 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