एपीआई अनुरोध करना

OptimizeToursRequest मैसेज का इस्तेमाल, OptimizeTours अनुरोध करने के लिए किया जा सकता है.

उदाहरण: OptimizeTours अनुरोध करना

क्लाइंट लाइब्रेरी कई लोकप्रिय प्रोग्रामिंग भाषाओं के लिए भी उपलब्ध हैं. OptimizeTours अनुरोध, REST या gRPC का इस्तेमाल करके भी किए जा सकते हैं.

अनुरोध करने से पहले, इन पैरामीटर को अपने एनवायरमेंट के हिसाब से वैल्यू से बदलें:

Go क्लाइंट लाइब्रेरी का इस्तेमाल करके अनुरोध करें:

import (
	"context"
	"fmt"

	routeoptimization "cloud.google.com/go/maps/routeoptimization/apiv1"
	"google.golang.org/genproto/googleapis/type/latlng"

	rpb "cloud.google.com/go/maps/routeoptimization/apiv1/routeoptimizationpb"
)

func optimizeTours(projectID string) (*rpb.OptimizeToursResponse, error) {
	ctx := context.Background()
	c, err := routeoptimization.NewClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("routeoptimization client: %w", err)
	}
	defer c.Close()

	// See https://pkg.go.dev/cloud.google.com/go/maps/routeoptimization/apiv1/routeoptimizationpb#OptimizeToursRequest.
	req := &rpb.OptimizeToursRequest{
		Parent: "projects/" + projectID,
		Model: &rpb.ShipmentModel{
			Shipments: []*rpb.Shipment{
				&rpb.Shipment{
					Deliveries: []*rpb.Shipment_VisitRequest{
						{ArrivalLocation: &latlng.LatLng{Latitude: 48.880942, Longitude: 2.323866}},
					},
				},
			},
			Vehicles: []*rpb.Vehicle{
				{
					StartLocation: &latlng.LatLng{Latitude: 48.863102, Longitude: 2.341204},
					EndLocation:   &latlng.LatLng{Latitude: 48.86311, Longitude: 2.341205},
				},
			},
		},
	}
	return c.OptimizeTours(ctx, req)
}

Java क्लाइंट लाइब्रेरी का इस्तेमाल करके अनुरोध करें:

import com.google.maps.routeoptimization.v1.OptimizeToursRequest;
import com.google.maps.routeoptimization.v1.OptimizeToursResponse;
import com.google.maps.routeoptimization.v1.RouteOptimizationClient;
import com.google.maps.routeoptimization.v1.RouteOptimizationSettings;
import com.google.maps.routeoptimization.v1.Shipment;
import com.google.maps.routeoptimization.v1.Shipment.VisitRequest;
import com.google.maps.routeoptimization.v1.ShipmentModel;
import com.google.maps.routeoptimization.v1.Vehicle;
import com.google.type.LatLng;
import java.time.Duration;

public class OptimizeTours {
  public static OptimizeToursResponse optimizeTours(String projectId) throws Exception {
    // Optional: method calls that last tens of minutes may be interrupted
    // without enabling a short keep-alive interval.
    RouteOptimizationSettings clientSettings = RouteOptimizationSettings
        .newBuilder()
        .setTransportChannelProvider(RouteOptimizationSettings
            .defaultGrpcTransportProviderBuilder()
            .setKeepAliveTimeDuration(Duration.ofSeconds(30))
            .build()).build();

    RouteOptimizationClient client = RouteOptimizationClient.create(clientSettings);
    OptimizeToursRequest request =
        OptimizeToursRequest.newBuilder()
            .setParent("projects/" + projectId)
            .setModel(
                ShipmentModel.newBuilder()
                    .addShipments(
                        Shipment.newBuilder()
                            .addPickups(
                                VisitRequest.newBuilder()
                                    .setArrivalLocation(
                                        LatLng.newBuilder().setLatitude(48.8).setLongitude(2.4))))
                    .addVehicles(
                        Vehicle.newBuilder()
                            .setStartLocation(
                                LatLng.newBuilder().setLatitude(48.9).setLongitude(2.5))))
            .build();
    return client.optimizeTours(request);
  }
}

Python क्लाइंट, PyPI पर उपलब्ध है.

pip install google-maps-routeoptimization

Python क्लाइंट लाइब्रेरी का इस्तेमाल करके अनुरोध करें:

from google.maps import routeoptimization_v1 as ro
from datetime import datetime

client = ro.RouteOptimizationClient()
request = ro.OptimizeToursRequest(
    parent="projects/PROJECT_NUMBER_OR_ID",
    model={
      "shipments": [
         {
          "pickups": [
            {
              "arrival_location": {
                "latitude": 37.738818,
                "longitude": -122.4161
              }
            }
          ],
          "deliveries": [
            {
              "arrival_location": {
                "latitude": 37.79581,
                "longitude": -122.4218856
              }
            }
          ]
        }
      ],
      "vehicles": [
        {
          "start_location": {
            "latitude": 37.738818,
            "longitude": -122.4161
          },
          "end_location": {
            "latitude": 37.738818,
            "longitude": -122.4161
          },
          "cost_per_kilometer": 1.0
        }
      ],
      "global_start_time": datetime.fromisoformat("2024-02-13T00:00:00.000Z"),
      "global_end_time": datetime.fromisoformat("2024-02-14T06:00:00.000Z")
    }
)
response = client.optimize_tours(request=request)
print(response)

सबसे पहले, अपने Google Maps Platform प्रतिनिधि से Node.js क्लाइंट के संग्रह की कॉपी का अनुरोध करें.

यहां दिए गए JSON स्निपेट का इस्तेमाल करके, अपनी package.json फ़ाइल को कॉन्फ़िगर करें:

  {
    "name": "route-optimization-example",
    "version": "1.0.0",
    "description": "A RouteOptimization example.",
    "main": "main.js",
    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "",
    "dependencies": {
      "@googlemaps/routeoptimization": "^0.1.0"
    }
  }

Node.js क्लाइंट लाइब्रेरी का इस्तेमाल करके अनुरोध करें:

'use strict';

const {RouteOptimizationClient} = require('@googlemaps/routeoptimization').v1;

const routeoptimizationClient = new RouteOptimizationClient();

async function callOptimizeTours() {
  const response = await routeoptimizationClient.optimizeTours({
    "parent": "projects/PROJECT_NUMBER_OR_ID",
    "model": {
      "shipments": [
        {
          "pickups": [
            {
              "arrivalLocation": {
                "latitude": 37.73881799999999,
                "longitude": -122.4161
              }
            }
          ],
          "deliveries": [
            {
              "arrivalLocation": {
                "latitude": 37.79581,
                "longitude": -122.4218856
              }
            }
          ]
        }
      ],
      "vehicles": [
        {
          "startLocation": {
            "latitude": 37.73881799999999,
            "longitude": -122.4161
          },
          "endLocation": {
            "latitude": 37.73881799999999,
            "longitude": -122.4161
          },
          "costPerKilometer": 1.0
        }
      ],
      "globalStartTime": "2024-02-13T00:00:00.000Z",
      "globalEndTime": "2024-02-14T06:00:00.000Z"
    }
  });
  console.log(JSON.stringify(response));
}
callOptimizeTours();

यह कमांड, Route Optimization API को OptimizeTours अनुरोध भेजता है और एक साथ जवाब पाता है.

curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
--data @- << EOM
{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "costPerKilometer": 1.0
      }
    ],
    "globalStartTime": "2024-02-13T00:00:00.000Z",
    "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}
EOM
किसी फ़ाइल को पढ़ें.

अनुरोध पूरा होने के बाद, आपको जवाब वाला मैसेज मिलेगा.

अगला लेख: जवाब का विश्लेषण करना