একটি OptimizeToursRequest বার্তা ব্যবহার করে একটি OptimizeTours অনুরোধ করা যেতে পারে।
উদাহরণ: একটি OptimizeTours অনুরোধ করুন
বেশ কিছু জনপ্রিয় প্রোগ্রামিং ভাষার জন্য ক্লায়েন্ট লাইব্রেরিও পাওয়া যায়। OptimizeTours অনুরোধগুলি REST অথবা gRPC ব্যবহার করেও করা যেতে পারে।
অনুরোধ করার আগে, নিম্নলিখিত প্যারামিটারগুলি আপনার পরিবেশের জন্য উপযুক্ত মান দিয়ে প্রতিস্থাপন করুন:
- Use 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.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অনুরোধটি সম্পূর্ণ হলে, আপনি একটি প্রতিক্রিয়া বার্তা পাবেন।
পরবর্তী: প্রতিক্রিয়া ব্যাখ্যা করুন