חישוב סיכום ניתוב
כדי להשתמש בחיפוש טקסט (חדש) או בחיפוש בקרבת מקום (חדש) כדי לחשב את משך הנסיעה ואת המרחק לכל מקום בתשובה:
-
מעבירים את הפרמטר
routingParameters.origin
בבקשה כדי לציין את קואורדינטות קו האורך וקו הרוחב של מקור הניתוב. הפרמטר הזה נדרש כדי לחשב את משך הנסיעה ואת המרחק לכל מקום בתגובה. -
כוללים את
routingSummaries
במסכת השדה כדי שהתגובה תכלול את מערךroutingSummaries
. המערך הזה מכיל את משך הזמן ואת המרחק ממקור הניתוב לכל מקום בתגובה.
ב-APIs Explorer אפשר לשלוח בקשות בזמן אמת כדי להתנסות ב-API ובאפשרויות שלו:
שימוש בחיפוש טקסט (חדש)
בבקשה הבאה, מחשבים את משך הנסיעה ואת המרחק לכל מקום בתשובה של Text Search (New):
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
התגובה מכילה שני מערכי JSON: המערך places
מכיל את המקומות התואמים, והמערך routingSummaries
מכיל את משך הנסיעה ואת המרחק לכל מקום:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
כל רכיב במערך routingSummaries
נמצא במיקום המערך התואם למיקום שלו במערך places
. כלומר, הרכיב ב-routingSummaries[0]
תואם למקום ב-places[0]
.
אורך המערך של routingSummaries
זהה לאורך המערך של places
. אם הערך של routingSummary
לא זמין למקום מסוים, הערך של המערך יהיה ריק.
מכיוון שבדוגמה הזו מחושבים משך הזמן והמרחק מנקודת המוצא לניתוב לכל מקום, השדה routingSummaries.legs
בתגובה מכיל אובייקט Leg
יחיד שמכיל את הערכים duration
ו-distanceMeters
מנקודת המוצא לניתוב ועד למקום.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
בדוגמה הזו אפשר לראות שהמשך והמרחק ממקור הניתוב למקום הראשון בתוצאות הם 597 שניות ו-2, 607 מטרים.
שימוש בחיפוש בקרבת מקום
בדוגמה הזו, מחשבים את משך הנסיעה ואת המרחק לכל מקום בתשובה לחיפוש בקרבת מקום. בדוגמה הזו מתבצע חיפוש של מסעדות בסידני, אוסטרליה, והגבלת המיקום ונקודת המוצא של הניתוב מוגדרות לאותה קואורדינטת רוחב ואורך:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": -33.8688, "longitude": 151.1957362}, "radius": 500.0 } }, "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \ -H "X-Goog-FieldMask: places.displayName,routingSummaries" \ https://places.googleapis.com/v1/places:searchNearby
אין צורך להשתמש באותן קואורדינטות בשדה locationRestriction
ובשדה של מקור הניתוב. לדוגמה, אפשר להגדיר את locationRestriction
לנקודת המרכז של סידני כדי להטות את תוצאות החיפוש לאותו מעגל. אבל לאחר מכן מגדירים את נקודת המוצא לניתוב לפי הקואורדינטות של הבית, כלומר למיקום אחר בתוך עיגול החיפוש. לאחר מכן, הבקשה משנה את תוצאות החיפוש כך שיתאימו למעגל, ומחשבת את סיכומי המסלולים על סמך המיקום של הבית.
ציון אפשרויות הנסיעה
כברירת מחדל, החישובים של משך הנסיעה והמרחק מתבצעים לרכב. עם זאת, תוכלו לקבוע את סוג הרכב ואת האפשרויות האחרות בחיפוש.
-
משתמשים בפרמטר
routingParameters.travelMode
כדי להגדיר את אופן התחבורה ל-DRIVE
,BICYCLE
,WALK
אוTWO_WHEELER
. למידע נוסף על האפשרויות האלה, ראו סוגי כלי רכב זמינים למסלולים. -
משתמשים במאפיין
routingParameters.routingPreference
כדי להגדיר את אפשרות העדפת הניתוב ל-TRAFFIC_UNAWARE
(ברירת המחדל), ל-TRAFFIC_AWARE
או ל-TRAFFIC_AWARE_OPTIMAL
. לכל אפשרות יש רמות שונות של איכות נתונים וזמן אחזור. מידע נוסף זמין במאמר ציון האופן שבו נתוני התנועה ייכללו, ואם הם ייכללו.המאפיין
routingParameters.routingPreference
משפיע על המסלולים שמופיעים בשדהdirectionsUri
בתצוגה המקדימה (לפני השקה רחבה), כי מפות Google מציגות אפשרויות תנועה כשהקישור נפתח. -
משתמשים במאפיין
routingParameters.routeModifiers
כדי לציין את הערכיםavoidTolls
,avoidHighways
,avoidFerries
ו-avoidIndoor
. מידע נוסף על האפשרויות האלה זמין במאמר ציון תכונות של מסלולים שרוצים להימנע מהן.
בדוגמה הבאה, מציינים את מצב הנסיעה בתור DRIVE
ומבקשים להימנע מכבישים מהירים:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 }, "travelMode":"DRIVE", "routeModifiers": { "avoidHighways": true } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
נסה בעצמך!
ב-APIs Explorer אפשר לשלוח בקשות לדוגמה כדי להתנסות ב-API ובאפשרויות שלו.
בוחרים בסמל ה-API api בצד שמאל של הדף.
אפשר לערוך את פרמטרים הבקשה.
לוחצים על הלחצן Execute. בתיבת הדו-שיח, בוחרים את החשבון שבו רוצים להשתמש כדי לשלוח את הבקשה.
בחלונית של APIs Explorer, בוחרים בסמל המסך המלא fullscreen כדי להרחיב את החלון של APIs Explorer.