קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
מפתחים באזור הכלכלי האירופי (EEA)
כברירת מחדל, נקודות דרך ביניים משמשות לעצירה לצורך איסוף ופריקה, אבל אפשר גם לציין שנקודת דרך ביניים מיועדת רק לצורך מעבר.
מסלול שמכיל נקודת ציון להתחלה, נקודת ציון ביניים לצורך מעבר ונקודת ציון ליעד מכיל רק מקטע אחד של מסלול שמחבר את נקודת ההתחלה לנקודת היעד, תוך מעבר דרך נקודת הציון הביניים (שנקראת via).
כדי להגדיר ציון דרך ביניים כציון דרך לצורך מעבר, מגדירים את המאפיין via של ציון הדרך כ-true באמצעות Waypoint (REST) או Waypoint (gRPC).
המאפיין via הכי יעיל כשיוצרים מסלולים בתגובה לכך שהמשתמש גורר את נקודות העצירה במפה. כך המשתמש יכול לראות איך המסלול הסופי עשוי להיראות בזמן אמת, ולוודא שנקודות הציון ממוקמות במיקומים שגישה אליהם אפשרית דרך Compute Routes.
הדוגמה הבאה מראה איך לסמן נקודת ציון ביניים כנקודת ציון מעבר.
אם מציינים את המיקום של נקודת המוצא, היעד או נקודת הציון הדרך הממוצעת בתור מחרוזת כתובת או Plus Code, ה-API מנסה למצוא את המיקום הרלוונטי ביותר שיש לו מזהה מקום תואם. המערך geocodingResults.intermediates בתוצאות מכיל את מזהה המקום שתואם למיקום של נקודות הדרך, יחד עם נתונים נוספים על המיקום.
לכל רכיב במערך intermediates, משתמשים במאפיין intermediateWaypointRequestIndex כדי לקבוע איזה ציון דרך ביניים בבקשה תואם למזהה המקום בתגובה.
לדוגמה:
בבקשה מציינים שלוש נקודות דרך ביניים. שני נקודות הדרך האלה מצוינות באמצעות מחרוזות כתובות, ואחת באמצעות קואורדינטות של קו אורך ורוחב.
כדי לציין שהמערך geocodingResults יופיע בתוצאות, צריך לכלול את geocodingResults במסכת שדה התגובה.
curl-XPOST-d'{"origin":{"address":"1600 Amphitheatre Parkway, Mountain View, CA"},"destination":{"address":"24 Willie Mays Plaza, San Francisco, CA 94107"},"intermediates":[{"address":"450 Serra Mall, Stanford, CA 94305, USA"},{"location":{"latLng":{"latitude":37.419734,"longitude":-122.0807784}}},{"address":"1836 El Camino Real, Redwood City, CA 94063"}],"travelMode":"DRIVE",}'-H'Content-Type:application/json'-H'X-Goog-Api-Key:YOUR_API_KEY'
-H'X-Goog-FieldMask:routes.duration,routes.distanceMeters,routes.legs,geocodingResults''https://routes.googleapis.com/directions/v2:computeRoutes'
התשובה כוללת את המערך geocodingResults שמכיל את מזהה המיקום של נקודת המוצא, היעד ושני מתוך שלושת נקודות הציון. אלה נקודות הציון באינדיקטורים 0 ו-2 בבקשה. מכיוון שנקודה דרך במדד 1 של הבקשה צוינה באמצעות קואורדינטות של קו אורך וקו רוחב, היא לא נכללת במערך geocodingResults בתשובה.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-06-20 (שעון UTC)."],[[["\u003cp\u003eIntermediate waypoints can be designated as pass-through points using the \u003ccode\u003evia\u003c/code\u003e property to avoid unnecessary stops.\u003c/p\u003e\n"],["\u003cp\u003eSetting \u003ccode\u003evia\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e allows for a more direct route, but may result in detours or route calculation failures if the waypoint is inaccessible.\u003c/p\u003e\n"],["\u003cp\u003eWhen using address strings or Plus codes for waypoints, the API returns place IDs for these locations in the \u003ccode\u003egeocodingResults\u003c/code\u003e array.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egeocodingResults\u003c/code\u003e array helps identify the place IDs of waypoints, which can be useful for subsequent requests or analysis.\u003c/p\u003e\n"],["\u003cp\u003eWaypoints specified using latitude/longitude coordinates or place IDs are excluded from the \u003ccode\u003egeocodingResults\u003c/code\u003e array.\u003c/p\u003e\n"]]],[],null,["# Set a point for a route to pass through\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq).\n\nBy default, intermediate waypoints are used for stopping for pickups and\ndropoffs, but you can also specify that an intermediate waypoint is meant just\nto pass through.\n\nA route that contains an origin waypoint, a pass-through intermediate\nwaypoint, and a destination waypoint contains just one route leg that\nconnects the origin and the destination, while passing through the intermediate\n(called a `via`) waypoint.\n\nConfigure an intermediate waypoint to be a pass-through waypoint by\nsetting the `via` property of the waypoint to `true` using either\n[Waypoint](/maps/documentation/routes/reference/rest/v2/Waypoint) (REST) or\n[Waypoint](/maps/documentation/routes/reference/rpc/google.maps.routing.v2#waypoint) (gRPC).\n\nThe `via` property is most effective when creating routes in response to\nthe user dragging the waypoints on the map. Doing so allows the user to see how\nthe final route may look in real-time and helps ensure that waypoints are placed\nin locations that are accessible to the Compute Routes.\n| **Caution:** Using the `via:` prefix to avoid stopovers results in routes that are strict in their interpretation of the waypoint. This interpretation may result in severe detours on the route or `ZERO_RESULTS` in the response status code if the Routes API is unable to create a route through that point.\n\nThe following example demonstrates how to mark an intermediate waypoint as a\npass-through waypoint. \n\n```cplint\n{\n \"location\": {\n \"latLng\": {\n \"latitude\":37.419734,\n \"longitude\":-122.0827784\n }\n },\n \"via\": true\n}\n```\n\nAccess place IDs for intermediate waypoints\n-------------------------------------------\n\nIf you specify the location of an origin, destination, or intermediate waypoint\nas an **address string** or as a **Plus code** , the API attempts to find the\nmost relevant location which has a corresponding place ID. The\n[`geocodingResults.intermediates`](/maps/documentation/routes/reference/rest/v2/TopLevel/computeRoutes#geocodingresults)\narray in the results contains the place ID corresponding to the location of the\nwaypoints, along with additional data about the location.\n| **Note:** If a waypoint is specified as a place ID or as latitude/longitude coordinates, it is omitted from the place ID lookup results.\n\nFor each element of the `intermediates` array, use the\n`intermediateWaypointRequestIndex` property to determine which intermediate\nwaypoint in the request corresponds to the place ID in the response.\n\nFor example:\n\n- You specify three intermediate waypoints in a request. Two of these\n waypoints are specified by address strings and one by latitude/longitude\n coordinates.\n\n- You include `geocodingResults` in the response field mask to specify to\n return the `geocodingResults` array in the results.\n\n```json\ncurl -X POST -d '{\n \"origin\":{\n \"address\": \"1600 Amphitheatre Parkway, Mountain View, CA\"\n },\n \"destination\":{\n \"address\": \"24 Willie Mays Plaza, San Francisco, CA 94107\"\n },\n \"intermediates\": [\n {\n \"address\": \"450 Serra Mall, Stanford, CA 94305, USA\"\n },\n {\n \"location\":{\n \"latLng\":{\n \"latitude\": 37.419734,\n \"longitude\": -122.0807784\n }\n }\n },\n {\n \"address\": \"1836 El Camino Real, Redwood City, CA 94063\"\n }\n ],\n \"travelMode\": \"DRIVE\",\n}'\n-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'\n-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults'\n'https://routes.googleapis.com/directions/v2:computeRoutes'\n```\n\nThe response includes the `geocodingResults` array containing the place ID for\nthe origin, destination, and for two of the three waypoints. These are the\nwaypoints at index 0 and 2 of the request. Because the waypoint at index 1 of\nthe request was specified by using latitude/longitude coordinates, it is\nomitted from the `geocodingResults` array in the response. \n\n```json\n{\n \"routes\": [{...}],\n \"geocodingResults\": {\n \"origin\": {\n \"geocoderStatus\": {},\n \"type\": [\n \"premise\"\n ],\n \"placeId\": \"ChIJj38IfwK6j4ARNcyPDnEGa9g\"\n },\n \"destination\": {\n \"geocoderStatus\": {},\n \"type\": [\n \"premise\"\n ],\n \"placeId\": \"ChIJI7ES6tl_j4ARVpDZoXbWAiY\"\n },\n \"intermediates\": [\n {\n \"geocoderStatus\": {},\n \"intermediateWaypointRequestIndex\": 0,\n \"type\": [\n \"street_address\"\n ],\n \"placeId\": \"ChIJvdLMGyq7j4ARScE5tWX_C0Y\"\n },\n {\n \"geocoderStatus\": {},\n \"intermediateWaypointRequestIndex\": 2,\n \"type\": [\n \"premise\"\n ],\n \"placeId\": \"ChIJkTc0GKajj4AR9UMsOSHwGD0\"\n }\n ]\n }\n}\n```"]]