تعیین نقاط بین راهی

ایستگاه های بین راهی، مکان هایی در بین مبدا و مقصد هستند که می خواهید مسیر از آنها عبور کند. یک ایستگاه میانی می تواند یک توقف باشد یا می توانید آن را به عنوان مکانی برای عبور مشخص کنید. برای مثالی از یک ایستگاه برای توقف، به تنظیم توقف در طول یک مسیر مراجعه کنید. برای مثالی از یک نقطه عبور برای عبور، نقطه را برای یک مسیر برای عبور تنظیم کنید .

از ویژگی آرایه intermediates متد computeRoutes (REST) ​​یا روش ComputeRoutes (gRPC) برای تعریف حداکثر 25 نقطه میانی استفاده کنید.

برای هر نقطه میانی در درخواست، شی مسیر (REST) ​​یا شی مسیر (gRPC) در پاسخ یک ورودی به آرایه legs اضافه می‌کند تا جزئیات مربوط به آن مرحله از سفر را ارائه کند.

هر پا از یک مسیر با یک شی RouteLeg (REST) ​​یا RouteLeg (gRPC) نشان داده می شود. با استفاده از ماسک فیلد پاسخ، فیلدهای RouteLeg را کنترل کنید.

مثال - یک نقطه بین راه را تنظیم کنید

مثال زیر از ویژگی آرایه intermediates برای اضافه کردن یک ایستگاه بین راهی به بدنه درخواست POST یک مسیر استفاده می کند.

این مثال از یک ماسک فیلد پاسخ در هدر X-Goog-FieldMask استفاده می کند که مشخص می کند فیلدهای زیر را در پاسخ برگرداند:

  • routes.duration
  • routes.distanceMeters
  • routes.legs مربوط به کل شی RouteLeg .
curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    },
    "sideOfRoad": true
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2022-10-15T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "IMPERIAL"
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs'
'https://routes.googleapis.com/directions/v2:computeRoutes'

پاسخ این تماس حاوی آرایه legs است. هر مرحله از پا با یک شی RouteLegStep (REST) ​​یا RouteLegStep (gRPC) نشان داده می شود.

{
  "routes": [
    {
      "legs": [
        # First leg
        {
            "distanceMeters": 207,
            "duration": "89s",
            "staticDuration": "89s",
            "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.4197318,
                    "longitude": -122.0826233
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "steps": [            {
              "distanceMeters": 21,
              "staticDuration": "6s",
              "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@"
              },
              "startLocation": {
                "latLng": {
                  "latitude": 37.4197318,
                  "longitude": -122.0826233
                }
              },
              "endLocation": {
                "latLng": {
                  "latitude": 37.41954,
                  "longitude": -122.08262750000002
                }
              }
            },
            ...
        },
        # Second leg
        {
            "distanceMeters": 598,
            "duration": "159s",
            "staticDuration": "159s",
            "polyline": {
                "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.417616599999995,
                    "longitude": -122.07938820000001
                }
            },
            "steps": [
                {
                  ...