একটি OptimizeToursRequest
বার্তা একটি OptimizeTours
অনুরোধ করতে ব্যবহার করা যেতে পারে।
উদাহরণ: একটি OptimizeTours
অনুরোধ করুন
ক্লায়েন্ট লাইব্রেরি বেশ কয়েকটি জনপ্রিয় প্রোগ্রামিং ভাষার জন্যও উপলব্ধ। REST বা gRPC ব্যবহার করেও OptimizeTours
অনুরোধ করা যেতে পারে।
একটি অনুরোধ করার আগে, আপনার পরিবেশের জন্য উপযুক্ত মান দিয়ে নিম্নলিখিত পরামিতিগুলি প্রতিস্থাপন করুন:
- ইউজ OAuth- এ বর্ণিত অ্যাপ্লিকেশান ডিফল্ট শংসাপত্রগুলি কনফিগার করা আছে তা নিশ্চিত করুন।
আপনার ক্লাউড প্রকল্প নম্বর বা আইডিতে PROJECT_NUMBER_OR_ID সেট করুন।
যাও
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.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; public class OptimizeTours { public static OptimizeToursResponse optimizeTours(String projectId) throws Exception { RouteOptimizationClient client = RouteOptimizationClient.create(); 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)
Node.js
প্রথমে, আপনার Google মানচিত্র প্ল্যাটফর্ম প্রতিনিধির কাছ থেকে 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();
বিশ্রাম
নিম্নলিখিত কমান্ডটি রুট অপ্টিমাইজেশান এপিআইতে একটি 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
অনুরোধ সম্পূর্ণ হলে, আপনি একটি প্রতিক্রিয়া বার্তা পাবেন।