במכשירים עם iOS מגרסה 9 ואילך, אפשר להשתמש בקישורים אוניברסליים כדי להפעיל את מפות Google כשמופיעה כתובת URL של מפות Google.
אפשר להשתמש בסכימת כתובות ה-URL של מפות Google כדי להפעיל את אפליקציית מפות Google ל-iOS, לבצע חיפושים, לקבל בקשות להוראות הגעה ולהציג תצוגות מפה. כשמפעילים את מפות Google, מזהה החבילה נשלח אוטומטית כחלק מהבקשה.
לא צריך מפתח Google API כדי להשתמש ב-URL scheme של מפות Google.
קישורים אוניברסליים ומפות 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 אחרת או מאפליקציית אינטרנט. אפשר להגדיר אפשרויות בכתובת האתר שיועברו לאפליקציה שהופעלה. אפליקציית Google Maps ל-iOS תומכת בסכימות ה-URL הבאות:
comgooglemaps://
ו-comgooglemaps-x-callback://
– סכימות האלה מאפשרות להפעיל את אפליקציית מפות Google ל-iOS ולבצע אחת מכמה פעולות:- הצגת מפה במיקום מסוים וברמת זום מסוימת.
- חיפוש מיקומים או מקומות והצגתם במפה.
- לבקש מסלול ממיקום אחד למיקום אחר. אפשר לקבל מסלולים לארבעה אמצעי תחבורה: נהיגה, הליכה, רכיבה על אופניים ותחבורה ציבורית.
- הוספת ניווט לאפליקציה.
- ב-iOS 8 ומטה, צריך להגדיר קריאה חוזרת (callback) כשהאפליקציה מסיימת את הפעולה, באמצעות
comgooglemaps-x-callback://
. לרוב משתמשים בפונקציות קריאה חוזרת כדי להחזיר משתמש לאפליקציה שפתחה במקור את מפות 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://
.
- כתובת ה-URL המקורית יכולה להיות
הפעלת האפליקציה של מפות 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¢er=37.759748,-122.427135
דוגמאות נוספות:
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=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¢er=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¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
ציון כתובת URL לקריאה חוזרת (callback)
אם רוצים לציין כתובת URL של קריאה חוזרת (callback), צריך להשתמש בסכימת כתובות ה-URL comgooglemaps-x-callback://
. הסכימה הזו תואמת למפרט x-callback-url. כשמתקשרים לאפליקציית מפות Google ל-iOS באמצעות הסכימה הזו, כפתור מופיע בחלק העליון של המסך. הקשה על הלחצן הזה תפעיל קריאה חוזרת לכתובת URL שציינתם.
בקשות ל-comgooglemaps-x-callback://
צריכות להיות בפורמט הבא:
comgooglemaps-x-callback://?parameters
פרמטרים
סכימת כתובות ה-URL של x-callback מקבלת את אותם פרמטרים כמו comgooglemaps://
סכימת כתובות ה-URL, עם הפרמטרים הנוספים הבאים. שני הפרמטרים הם חובה.
-
x-source
– שם האפליקציה ששולחת את בקשת x-callback. רצוי להשתמש בשמות קצרים. -
x-success
– כתובת ה-URL להתקשרות בסיום. בדרך כלל זו תהיה תוכנית כתובות URL של האפליקציה שלכם, שתאפשר למשתמשים לחזור לאפליקציה המקורית.
חשוב לשים לב שהאפליקציה תצטרך לרשום סכמת כתובות URL משלה כדי שתוכל להגיב לכתובת ה-URL של הקריאה החוזרת.
- מוודאים שרשמתם בבקשה סכימת URL שיכולה להגיב לבקשת הקריאה החוזרת.
- מעבירים את התווית של לחצן הקריאה החוזרת בפרמטר
x-source
. - מעבירים את כתובת ה-URL של הקריאה החוזרת בפרמטר
x-success
.
בדוגמה הבאה, אפליקציית מפות Google ל-iOS תיפתח ותציג מפה עם מרכז בניו יורק. באפליקציה יוצג גם לחצן עם התווית SourceApp.
כשלוחצים על הלחצן SourceApp, אפליקציית מפות Google ל-iOS מנפיקה קריאה חוזרת (callback) לסכימת כתובות URL פיקטיבית, sourceapp://?resume=true
.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
בדומה לcomgooglemaps://
סכימת כתובות ה-URL, קודם צריך לוודא שאפליקציית מפות 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¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
הוספת ניווט לאפליקציה
הפעלת אפליקציית מפות Google ל-iOS עם בקשה למסלול היא דרך קלה לתת למשתמשים גישה להוראות הגעה מפורטות מהאפליקציה שלכם. אפשר להשתמש בסכימות של כתובות URL comgooglemaps://
או comgooglemaps-x-callback://
.
בקטע הקוד הזה מוצג איך להשתמש בסכימת comgooglemaps-x-callback://
כדי לבקש מסלול, ואז לחזור לאפליקציה כשהמשתמש מוכן. הקוד יבצע את הפעולות הבאות:
- מוודאים שסכמת כתובות ה-URL
comgooglemaps-x-callback://
זמינה. - מפעילים את אפליקציית מפות Google ל-iOS ומבקשים הוראות הגעה לנמל התעופה JFK בניו יורק. כדי לבקש מסלול מהמיקום הנוכחי של המשתמש, משאירים את כתובת ההתחלה ריקה.
- הוספת לחצן עם התווית AirApp לאפליקציית מפות Google ל-iOS. תווית הלחצן מוגדרת על ידי הפרמטר
x-source
. - מתקשרים לסכימת כתובות ה-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, וכך להציע למשתמשים את חוויית השימוש הטובה ביותר.
- מחליפים את הסכימה
http://
אוhttps://
בסכימהcomgooglemapsurl://
. - אם רוצים להשתמש בקריאה חוזרת (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