יש גרסה חדשה של המסמך הזה עם דוגמאות לשימוש ב-Places API וב-Routes API החדשים.
בדרך כלל, כשמשתמשים נוסעים לנקודת עניין (POI), הם זקוקים למעשה לניווט למיקום סמוך, כמו חניון או נקודת גישה. נניח שנוסע צריך להגיע לשדה תעופה או לקניון. כשנוסעים לנמל תעופה, הנהג מנסה להגיע לטרמינל או לנקודת הורדה ולא למרכז המתחם של נמל התעופה. באופן דומה, למשתמש עם רכב, חניה ליד מרכז הקניות עשויה להיות אפשרות טובה יותר. במקרה כזה, כשמפתחים אפליקציה או שירות שמפנה את הנהג, קודם צריך למצוא את המיקום שאליו הוא הולך ואז להציע לו יעדים אופציונליים ליד המיקום הזה. הגישה הזו מאפשרת לכם לספק שירות טוב יותר ללקוחות ולהראות שאתם מעריכים את הזמן שלהם, תוך מאמץ פיתוח קטן אך חכם שמנצל את נתוני המיקום שסופקו על ידי הפלטפורמה של מפות Google.
תצוגה פשוטה של המערכות המעורבות בהכוונת הנהג למיקום מסוים ברכב
![תרשים מערכת ברמה גבוהה](https://developers.google.cn/maps/architecture/navigate-with-car/images/system_diagram_nav_with_car.png?hl=he)
נראה איך אפשר להשתמש ב-Places API וב-Directions API ברצף או בשילוב כדי לזהות את המיקום המתאים לחניה ליד היעד. הפתרון הזה נועד להסיר את אי-הוודאות ואת הצורך לבצע מספר אינטראקציות כדי למצוא מקום חניה בזמן הנסיעה, ככל שמתקרבים ליעד הסופי. נבחן שתי דוגמאות מפורטות לאופן שבו אפשר ליישם את התרחישים האלה.
דוגמה 1 – אטרקציה תיירותית ללא חניון
נבחר מיקום שלא מחובר ישירות לצד הכביש, כך שיהיה צורך לאחזר מסלול בנפרד. היעד הוא Notre Dame בפריז, וכנקודת ההתחלה נשתמש בתחנת הרכבת Gare de l’Est (48.87697775149635, 2.3592247806755564).
![Gare de l'Est Gare de l'Est](https://developers.google.cn/static/maps/architecture/navigate-with-car/images/gare_de_lest.png?hl=he)
הנהג יוצא מהתחנה כ-16 דקות צפונית לנוטרדאם. קתדרלת Notre Dame היא אטרקציה תיירותית מפורסמת שנמצאת באי עם גישה דרך גשר, יש בה כמה רחובות חד-סטריים ואין מגרש חניה גדול בקרבת מקום, כך שזו אמורה להיות משימה מעניינת.
בקשה ל-Places API
בבקשה לדוגמה הזו של 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®ion=fr&key=YOUR_KEY
התגובה לבקשה שלמעלה כוללת את קו הרוחב וקו האורך הבאים:
"results" : [ { "formatted_address" : "Notre Dame, Paris", "geometry" : { "location" : { "lat" : 48.8527288, }, ...
כפי שאפשר לראות, הקואורדינטות מצביעות אכן על קתדרלת נוטרדאם.
![]() |
![]() |
כמפתחים או כספקי שירות, מומלץ להציג לנהגים באופן אוטומטי את ההודעה "מחפשים חניה ליד Notre Dame?". חוויית המשתמש תשתנה בהתאם למכשיר ולמסך, אבל כדאי לשקול להציג בחלון קופץ טקסט עדין שנעלם אחרי זמן קצר. כדי למצוא מקומות חניה ליד קתדרלת Notre Dame, מבצעים חיפוש טקסט ב-Places API עם הפרמטרים 'type' 'parking' ו-'radius' '300'. הדוגמה הזו תגרום להטיה של התוצאות לאזורי חניה במרחק של עד 300 מטרים מ-Notre Dame.
https://maps.googleapis.com/maps/api/place/textsearch/json?query=parking
&location=48.8527288%2C2.3505635®ion=fr&type=parking&radius=300&key=YOUR_KEY
התוצאה הראשונה היא 'Parking Saemes Maubert-Lagrange' (חניה Saemes Maubert-Lagrange) בקואורדינטות 48.850591, 2.3486436. נשתמש במיקום הזה בחלק הבא, שבו נבצע בקשה ל-Directions API.
בקשה ל-Directions API
כדי למצוא את המסלול מתחנה לחניון בקרבת קתדרלת Notre Dame, צריך לשלוח בקשה ל-Directions API. פשוט מגדירים את הפרמטרים של המקור והיעד. אפשרויות נוספות מפורטות במסמכי התיעוד למפתחים.
https://maps.googleapis.com/maps/api/directions/json?origin=48.8767903,2.3592251&destination=48.850591%2C2.3486436&key=YOUR_KEY
התשובה של Direction API בדרך כלל מכילה כמה הצעות למסלולים. כל מסלול מורכב מכמה 'קטעים', שכוללים כמה 'שלבים' שבהם מוצגים המרחק והקואורדינטות של המסלול. כדי למצוא את הקואורדינטות הסופיות שאפשר להגיע אליהן ברכב, משתמשים בשדה end_location בשלב האחרון של הקטע האחרון במסלול שבחרתם.
המיקום הזה אולי לא נראה כמו הבחירה הראשונה, אבל אם תסתכלו במפה או ב-Google Street View, תראו שהוא נמצא במרחק הליכה קצר מאוד, כ-6-7 דקות, מקתדרלת נוטרדאם.
![מסלול הליכה מהחניון לקתדרלת נוטרדאם מסלול הליכה מהחניון לקתדרלת נוטרדאם](https://developers.google.cn/static/maps/architecture/navigate-with-car/images/parking_to_notredame.png?hl=he)
מסלול הליכה מאזור החניה לקתדרלת נוטרדאם
סיכום לדוגמה 1
כפי שאפשר לראות, כדי למצוא מקום חניה לרכב נדרשות רק כמה קריאות ל-API והצגת ההצעה לנהג. כך המשתמשים חוסכים זמן, כי הם לא צריכים לנסוע ברחובות חד-סטריים או לחפש מקום להחנות את הרכב באטרקציה תיירותית עמוסה. לסיכום, ביצענו את בקשות ה-API הבאות:
- בקשה ל-Places API כדי למצוא את הקואורדינטות של קתדרלת נוטרדאם
- בקשה ל-Places API לחיפוש אזור חניה בטווח של 300 מטרים מהקואורדינטות האלה
- בקשה ל-Directions API כדי למצוא מסלול לאזור החניה
דוגמה 2 – קבלת הנחיות לטרמינל בשדה תעופה גדול
![שדה התעופה Heathrow מיקום נמל התעופה הית'רו במפה](https://developers.google.cn/static/maps/architecture/navigate-with-car/images/heathrow_map.png?hl=he)
"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®ion=gb&key=YOUR_KEY&radius=3000
השאילתה שלמעלה מספקת לנו רשימה של מסופי הרכבת התחתית ונקודות האיסוף הנפרדות במסופים האלה. ברשימת התוצאות אפשר למצוא את 'טרמינל 5 של נמל התעופה לונדון הית'רו' ואת מזהה המקום שלו:
"place_id" : "ChIJtQRd6XVxdkgRTUGZtcsoGNc",
באמצעות הפרמטר 'place_id' אנחנו יכולים להודיע ל-Directions 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).
![טרמינל 5 בנמל התעופה Heathrow טרמינל 5 בנמל התעופה Heathrow](https://developers.google.cn/static/maps/architecture/navigate-with-car/images/heathrow_terminal5_streetview.png?hl=he)
סיכום לדוגמה 2
בדומה לדוגמה הקודמת, מאמצי הפיתוח כדי לספק הנחיות משופרות לנהג הם קטנים מאוד, והיתרונות של חיסכון הזמן לנהג ניתנים למדידה בקלות. ביצענו את הבקשות הבאות:
- בקשה ל-Places API כדי למצוא את נמל התעופה הית'רו
- בקשה ל-Places API כדי למצוא את כל הטרמינלים בסביבת הקואורדינטות של שדה התעופה הית'רו
- בקשה ל-Directions API לקבלת מסלול אל טרמינל 5
סיכום
כפי שאפשר לראות, מאמצי הפיתוח הנדרשים כדי לספק שירות פרימיום ללקוחות שמגיעים ברכב הם קטנים יחסית, ומאפשרים לכם להראות בקלות איך אתם מתייחסים לצרכים של הלקוחות.
למטרות פיתוח, תוכלו להשתמש בספריות ובכלים רבים שזמינים כדי לעזור לכם לפתח את השירותים ללקוחות. מומלץ לעיין במאגר GitHub של הפלטפורמה של מפות Google שזמין לכולם.
הפעולות הבאות
המחבר הראשי
Mikko Toivanen | מהנדס פתרונות בפלטפורמה של מפות Google