একটি API অনুরোধ করুন

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) ডেভেলপাররা

একটি 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)
}

জাভা

জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি অনুরোধ করুন:

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);
  }
}

পাইথন

পাইথন ক্লায়েন্টটি PyPI তে উপলব্ধ।

pip install google-maps-routeoptimization

পাইথন ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি অনুরোধ করুন:

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 প্ল্যাটফর্ম প্রতিনিধির কাছ থেকে 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();

বিশ্রাম

নিম্নলিখিত কমান্ডটি রুট অপ্টিমাইজেশন 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

অনুরোধটি সম্পূর্ণ হলে, আপনি একটি প্রতিক্রিয়া বার্তা পাবেন।

পরবর্তী: প্রতিক্রিয়া ব্যাখ্যা করুন