এই পৃষ্ঠায় দেখানো হয়েছে কীভাবে Routes API-এর ক্লায়েন্ট লাইব্রেরিগুলো দিয়ে কাজ শুরু করতে হয়।
ক্লায়েন্ট লাইব্রেরি সম্পর্কে আরও জানতে "ক্লায়েন্ট লাইব্রেরির ব্যাখ্যা" পড়ুন।
ক্লায়েন্ট লাইব্রেরি ইনস্টল করা হচ্ছে
জাভা
আরও তথ্যের জন্য, জাভা ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করা দেখুন।
ইনস্টলেশন নির্দেশাবলীর জন্য জাভার জন্য গুগল রাউটস এপিআই ক্লায়েন্ট দেখুন।
যান
go get cloud.google.com/go/maps
ইনস্টলেশন নির্দেশাবলীর জন্য Google Routes API Client for Go দেখুন।
নোড.জেএস
npm install @googlemaps/routing
সম্পূর্ণ ইনস্টলেশন নির্দেশাবলীর জন্য, Node.js-এর জন্য Google Routes API Client দেখুন।
পাইথন
আরও তথ্যের জন্য, পাইথন ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করা দেখুন।
সম্পূর্ণ ইনস্টলেশন নির্দেশাবলীর জন্য, Google Routes API Client for Python দেখুন।
.নেট
আরও তথ্যের জন্য, .Net ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করা দেখুন।
সম্পূর্ণ ইনস্টলেশন নির্দেশাবলীর জন্য, Google Routes API Client for .Net দেখুন।
প্রমাণীকরণ সেট আপ করা
যখন আপনি ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তখন প্রমাণীকরণের জন্য অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) ব্যবহার করেন। ADC সেট আপ করার বিষয়ে তথ্যের জন্য, "অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস-এর জন্য ক্রেডেনশিয়াল সরবরাহ করুন" দেখুন। ক্লায়েন্ট লাইব্রেরির সাথে ADC ব্যবহার করার বিষয়ে তথ্যের জন্য, "ক্লায়েন্ট লাইব্রেরি ব্যবহার করে প্রমাণীকরণ করুন" দেখুন।
ক্লায়েন্ট লাইব্রেরি ব্যবহার করে
জাভা
রুট গণনার উদাহরণ:
import com.google.maps.routing.v2.*; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] arguments) throws IOException { RoutesSettings routesSettings = RoutesSettings.newBuilder() .setHeaderProvider(() -> { Map<String, String> headers = new HashMap<>(); headers.put("X-Goog-FieldMask", "*"); return headers; }).build(); RoutesClient routesClient = RoutesClient.create(routesSettings); ComputeRoutesResponse response = routesClient.computeRoutes(ComputeRoutesRequest.newBuilder() .setOrigin(Waypoint.newBuilder().setPlaceId("ChIJeRpOeF67j4AR9ydy_PIzPuM").build()) .setDestination(Waypoint.newBuilder().setPlaceId("ChIJG3kh4hq6j4AR_XuFQnV0_t8").build()) .setRoutingPreference(RoutingPreference.TRAFFIC_AWARE) .setTravelMode(RouteTravelMode.DRIVE).build()); System.out.println("Response: " + response.toString()); } }
রুট ম্যাট্রিক্সের উদাহরণ:
import com.google.api.gax.rpc.ServerStream; import com.google.api.gax.rpc.ServerStreamingCallable; import com.google.maps.routing.v2.*; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] arguments) throws IOException { RoutesSettings routesSettings = RoutesSettings.newBuilder() .setHeaderProvider(() -> { Map<String, String> headers = new HashMap<>(); headers.put("X-Goog-FieldMask", "*"); return headers; }).build(); RoutesClient routesClient = RoutesClient.create(routesSettings); ServerStreamingCallable<ComputeRouteMatrixRequest, RouteMatrixElement> computeRouteMatrix = routesClient.computeRouteMatrixCallable(); ServerStream<RouteMatrixElement> stream = computeRouteMatrix.call(ComputeRouteMatrixRequest.newBuilder() .addOrigins(RouteMatrixOrigin.newBuilder() .setWaypoint(Waypoint.newBuilder(). setPlaceId("ChIJeRpOeF67j4AR9ydy_PIzPuM").build())) .addDestinations(RouteMatrixDestination.newBuilder() .setWaypoint(Waypoint.newBuilder().setPlaceId("ChIJG3kh4hq6j4AR_XuFQnV0_t8").build()) .build()).setTravelMode(RouteTravelMode.DRIVE) .build()); for (RouteMatrixElement element : stream) { System.out.println("Response : " + element.toString()); } } }
যান
রুট গণনার উদাহরণ:
import ( "context" "fmt" "io" "os" routing "cloud.google.com/go/maps/routing/apiv2" "cloud.google.com/go/maps/routing/apiv2/routingpb" "google.golang.org/grpc/metadata" ) func main() { ctx := context.Background() client, err := routing.NewRoutesClient(ctx) if err != nil { fmt.Fprintf(os.Stderr, "error: %v\n", err) os.Exit(1) } computeRoutesReq := routingpb.ComputeRoutesRequest{ Origin: &routingpb.Waypoint{ LocationType: &routingpb.Waypoint_PlaceId{ PlaceId: "ChIJeRpOeF67j4AR9ydy_PIzPuM", }, }, Destination: &routingpb.Waypoint{ LocationType: &routingpb.Waypoint_PlaceId{ PlaceId: "ChIJG3kh4hq6j4AR_XuFQnV0_t8", }, }, RoutingPreference: routingpb.RoutingPreference_TRAFFIC_AWARE, TravelMode: routingpb.RouteTravelMode_DRIVE, } ctx = metadata.AppendToOutgoingContext(ctx, "X-Goog-FieldMask", "*") computeRoutesResponse, err := client.ComputeRoutes(ctx, &computeRoutesReq) if err != nil { fmt.Fprintf(os.Stderr, "error: %v\n", err) os.Exit(1) } fmt.Fprintf(os.Stdout, "response: %v\n", computeRoutesResponse) }
রুট ম্যাট্রিক্সের উদাহরণ:
import ( "context" "fmt" "io" "os" routing "cloud.google.com/go/maps/routing/apiv2" "cloud.google.com/go/maps/routing/apiv2/routingpb" "google.golang.org/grpc/metadata" ) func main() { ctx := context.Background() client, err := routing.NewRoutesClient(ctx) if err != nil { fmt.Printf("error: %v\n", err) os.Exit(1) } computeRouteMatrixReq := routingpb.ComputeRouteMatrixRequest{ Origins: []*routingpb.RouteMatrixOrigin{ { Waypoint: &routingpb.Waypoint{ LocationType: &routingpb.Waypoint_PlaceId{ PlaceId: "ChIJeRpOeF67j4AR9ydy_PIzPuM", }, }, }, }, Destinations: []*routingpb.RouteMatrixDestination{ { Waypoint: &routingpb.Waypoint{ LocationType: &routingpb.Waypoint_PlaceId{ PlaceId: "ChIJG3kh4hq6j4AR_XuFQnV0_t8", }, }, }, }, TravelMode: routingpb.RouteTravelMode_DRIVE, } ctx = metadata.AppendToOutgoingContext(ctx, "X-Goog-FieldMask", "*") stream, err := client.ComputeRouteMatrix(ctx, &computeRouteMatrixReq) if err != nil { fmt.Fprintf(os.Stderr, "error: %v\n", err) os.Exit(1) } for { element, err := stream.Recv() if err == io.EOF { break } if err != nil { fmt.Fprintf(os.Stderr, "error: %v\n", err) os.Exit(1) } fmt.Fprintf(os.Stdout, "element: %v\n", element) } }
নোড.জেএস
রুট গণনার উদাহরণ:
// Imports the Routing library const { RoutesClient } = require("@googlemaps/routing").v2; const origin = { location: { latLng: { latitude: 37.419734, longitude: -122.0827784, }, }, }; const destination = { location: { latLng: { latitude: 37.41767, longitude: -122.079595, }, }, }; // Instantiates a client const routingClient = new RoutesClient(); async function callComputeRoutes() { const request = { origin, destination, }; // Run request const response = await routingClient.computeRoutes(request, { otherArgs: { headers: { "Content-Type": "application/json", "X-Goog-Api-Key": "YOUR_API_KEY", "X-Goog-FieldMask": "routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline", }, }, }); console.log(response); } callComputeRoutes();
রুট ম্যাট্রিক্স গণনার উদাহরণ:
// Imports the Routing library const { RoutesClient } = require("@googlemaps/routing").v2; const origins = [ { waypoint: { location: { latLng: { latitude: 37.420761, longitude: -122.081356, }, }, }, }, { waypoint: { location: { latLng: { latitude: 37.403184, longitude: -122.097371, }, }, }, }, ]; const destinations = [ { waypoint: { location: { latLng: { latitude: 37.420999, longitude: -122.086894, }, }, }, }, { waypoint: { location: { latLng: { latitude: 37.383047, longitude: -122.044651, }, }, }, }, ]; // Instantiates a client const routingClient = new RoutesClient(); async function callComputeRouteMatrix() { // Construct request const request = { origins, destinations, }; // Run request const stream = await routingClient.computeRouteMatrix(request, { otherArgs: { headers: { "Content-Type": "application/json", "X-Goog-Api-Key": "YOUR_API_KEY", "X-Goog-FieldMask": "*", }, }, }); stream.on("data", (response) => { console.log(response); }); stream.on("error", (err) => { throw err; }); stream.on("end", () => { /* API call completed */ }); } callComputeRouteMatrix();