טיפים ליצירת חוויית המשתמש הטובה ביותר במהלך ניווט למיקומים עם מכונית

בדרך כלל, כשהמשתמש נוסע לנקודת עניין (POI), בפועל, הלקוח יצטרך לנווט למיקום קרוב, כמו חניון או נקודת גישה. דמיינו נהג שצריך ללכת לנמל תעופה או לקניון. כשהוא מנסה להגיע לנמל תעופה, הנהג מנסה להגיע לטרמינל או לנקודת הורדה, ולא למרכז המתחם של נמל התעופה. כמו כן, מגרש חניה ליד מרכז הקניות עשוי להיות אפשרות טובה יותר למשתמש עם מכונית. במקרה כזה, כאשר מפתחים אפליקציה או שירות שמנחים את הנהג, צריך קודם למצוא את המיקום שאליו הוא נוסע ואז להציע לנהג יעדים אופציונליים בקרבת אותו מיקום. הגישה הזו מאפשרת לכם לספק שירות טוב יותר ללקוחות ולהראות שאתם מעריכים את הזמן שלהם, במאמץ קטן אך חכם של פיתוח, תוך שימוש בנתוני מיקום שמסופקים על ידי הפלטפורמה של מפות Google.

[System Context] מערכות ניווט ברמה גבוהה
תצוגה פשוטה יותר של המערכות המעורבות בהפניית הנהג למיקום עם מכונית
תרשים של מערכות ברמה גבוהה

נראה איך אפשר להשתמש ב-Places API וב-Directions API ברצף או בשילוב כדי לזהות את המיקום הנכון לחנות ליד היעד שלכם. מטרת הפתרון הזה היא למנוע אי-ודאות ואינטראקציות מרובות כדי למצוא נקודת חניה בזמן שהכלי מתקרב ליעד הסופי. הבה נבחן שתי דוגמאות שממחישות בפירוט איך אפשר ליישם את הבקשות האלה.

דוגמה 1 – אטרקציה תיירותית ללא חניון

בוחרים מיקום שלא מחובר ישירות לצד הכביש, כך שיש לאחזר מסלול בנפרד. היעד הוא Notre Due בפריז, וכנקודת התחלה, נשתמש בתחנת הרכבת Gare de l'Est (48.87697775149635, 2.359224560675).

גאר דה ל'אסט

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

בקשת API של Places

בדוגמה הזו של Places API נעשה שימוש ב'חיפוש טקסט' כדי למצוא את נוטרדאם. פרטים נוספים זמינים במסמכי התיעוד למפתחים. הערך "YOUR_KEY" בדוגמאות האלה הוא מפתח ה-API שיש לכם עבור ממשקי ה-API של 'מקומות' ו'מסלול הגעה' בפלטפורמה של מפות Google שמופעלים במסוף Google Cloud. הסבר מפורט יותר זמין במסמכי התיעוד בנושא תחילת העבודה עם הפלטפורמה של מפות Google.

https://maps.googleapis.com/maps/api/place/textsearch/json?query=notre_dame&location=48.864716%2C2.349014&region=fr&key=YOUR_KEY

התגובה לבקשה שלמעלה מציינת את הקואורדינטות הבאות של קווי אורך ורוחב:


  "results" : [
      {
        "formatted_address" : "Notre Dame, Paris",
        "geometry" : {
           "location" : {
               "lat" : 48.8527288,
                },
  ...

כמו שאפשר לראות, הקואורדינטות אכן מצביעות על נוטרדאם.

תמונה של נוטרדאם
נוטרדאם במפה

אם אתם מפתחים או ספקי שירות, אנחנו ממליצים לנהג להציג באופן אוטומטי את ההודעה "מחפש חניה ליד נוטרדאם?". חוויית המשתמש תהיה שונה בהתאם למכשיר ולמסך, אבל במקרה כזה כדאי לשקול טקסט קופץ עדין שנעלם לאחר זמן קצר. כדי למצוא חניה ליד נוטרדאם, מבצעים חיפוש טקסט ב-Places API ומגדירים את הפרמטרים מסוג "חניה" ורדיוס "300". דוגמה זו תטה את התוצאות לאזורי חניה בטווח של 300 מטר מנוטרדאם.

https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635&region=fr&type=parking&radius=300&key=YOUR_KEY

התוצאה הראשונה היא "Parking Saemes Maubert-Lagrange" ב-48.850591, 2.3486436. נשתמש במיקום הזה בחלק הבא שבו שולחים בקשה ל-Directions API.

בקשת API למסלולים

כדי למצוא את המסלול מהתחנה לאזור חניה בקרבת נוטרדאם, צריך לבצע בקשה של Directions API. פשוט מגדירים את הפרמטרים של המוצא והיעד. למידע על אפשרויות נוספות, אפשר לעיין במסמכי התיעוד למפתחים.

https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY

התשובה של Direct API כוללת בדרך כלל מספר הצעות למסלולים. כל מסלול מורכב מכמה 'רגליים', שכוללים מספר 'צעדים', שמראים את מרחק הנסיעה ואת הקואורדינטות. כדי למצוא את הקואורדינטות הסופיות שניתן להגיע אליהן באמצעות מכונית, משתמשים בשדה 'end_location' בשלב האחרון של הקטע במסלול שבחרתם.

ייתכן שמיקום זה לא נראה כמו הבחירה הראשונה, אבל כאשר תסתכלו במפה או ב-Google Street View, תראו שהמיקום הזה נמצא במרחק הליכה קצר מאוד מנוטרדאם, בערך 6-7 דקות.

מסלול הליכה מחנייה לנוטרדאם

מסלול הליכה מאזור חניה לנוטרדאם

סיכום לדוגמה 1

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

  • בקשת API של מקומות כדי למצוא קואורדינטות נוטרדאם
  • בקשה של Places API למציאת אזור חניה בטווח של 300 מטר מקואורדינטות אלה
  • בקשה ל-Directions API כדי למצוא מסלול לאזור החנייה

דוגמה 2 – הדרכה לטרמינל בנמל תעופה גדול

נמל התעופה הית'רו במפה
בואו נבחן דוגמה נוספת שבה הנהג מנסה להגיע לאזור גדול שיש בו כמה מיקומים, נקודות עניין או נקודות הורדה פוטנציאליות. הנהג עוזב את אצטדיון וומבלי שבבריטניה (51.557263604707224, -0.2794575145680608) ומנסה להגיע אל טרמינל 5 בנמל התעופה לונדון הית'רו. בדרך כלל המשתמש מתחיל להקליד "Heathrow" וברוב המקרים אנשים בוחרים באחת משתי התוצאות הראשונות או ה-3 אם היא נראית כמו התוצאה הנכונה. בתוצאה שנבחרה אפשר לראות שהמיקום הוא שדה תעופה על ידי קריאת ערכי השדות 'סוגים'. כאן אפשר למצוא את רשימת הסוגים המלאה.

  "types" : [ "airport", "point_of_interest", "establishment" ],

עם זאת, כל מי שביקר בנמל תעופה גדול יודע שלוקח הרבה זמן לעבור בין מסופים בטיסה אם מגיעים למקום הלא נכון. במקרה הזה, מכיוון שסוג תוצאת החיפוש הוא 'שדה תעופה', כדאי לבצע מעקב אוטומטי אחר השאילתה כדי לחפש את המילה 'טרמינל' באמצעות המיקום של נמל התעופה לונדון הית'רו (51.47016927594547, -0.45432767852489075). בדוגמה ניתן גם לראות את המגבלה האופציונלית של רדיוס החיפוש של 3,000 מטר.

  https://maps.googleapis.com/maps/api/place/textsearch/json?query=terminal&location=51.47016927594547%2C-0.45432767852489075&region=gb&key=YOUR_KEY&radius=3000

השאילתה שלמעלה מספקת רשימה של מסופים ונקודות הורדה בודדות במסופים האלה. ברשימת התוצאות אפשר למצוא את 'טרמינל 5 של נמל התעופה לונדון הית'רו' ואת מזהה המקום שלו:

 "place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",

באמצעות הפרמטר Place_id אנחנו יכולים להגיד ל-API של המסלולים שאנחנו מנסים להגיע למקום מסוים, ולא קואורדינטות שרירותיות מסוימות.

  https://maps.googleapis.com/maps/api/directions/json?origin=51.557263604707224,-0.2794575145680608&destination=place_id:ChIJtQRd6XVxdkgRTUGZtcsoGNc&key=YOUR_KEY

שוב, כמו בדוגמה הקודמת, על ידי קריאת כל השלבים בתגובת ה-JSON, תמצאו את החלק האחרון של המסע ואת נקודות הסיום של קווי האורך והרוחב (51.47079979999999,-0.4896765).

טרמינל Heathrow 5

סיכום לדוגמה 2

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

  • בקשת API של מקומות כדי למצוא את נמל התעופה הית'רו
  • בקשה של Places API למציאת כל הטרמינלים בקרבת הקואורדינטות של נמל התעופה הית'רו
  • בקשה ל-Directions API לקבלת מסלול לטרמינל 5

סיכום

כפי שניתן לראות, מאמצי הפיתוח הנדרשים כדי לספק שירות פרימיום ללקוחות הנוסעים ברכב הוא קטן יחסית, והוא מאפשר לכם להמחיש בקלות איך אתם חושבים על צורכי הלקוחות שלכם.

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

הפעולות הבאות

מחבר/ת ראשי/ת

מיקו טויבאן | מהנדס פתרונות הפלטפורמה של מפות Google