এই পৃষ্ঠাটি দেখায় কিভাবে Routes API-এর জন্য ক্লায়েন্ট লাইব্রেরি দিয়ে শুরু করবেন।
ক্লায়েন্ট লাইব্রেরি সম্পর্কে আরও পড়ুন " ক্লায়েন্ট লাইব্রেরি এক্সপ্লেন্ড" বিভাগে ।
ক্লায়েন্ট লাইব্রেরি ইনস্টল করা হচ্ছে
জাভা
আরও তথ্যের জন্য, জাভা ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করা দেখুন।
ইনস্টলেশন নির্দেশাবলীর জন্য জাভার জন্য গুগল রুটস এপিআই ক্লায়েন্ট দেখুন।
যাও
go get cloud.google.com/go/maps
ইনস্টলেশন নির্দেশাবলীর জন্য Google Routes API Client for Go দেখুন।
নোড.জেএস
npm install @googlemaps/routing
সম্পূর্ণ ইনস্টলেশন নির্দেশাবলীর জন্য, Node.js এর জন্য Google Routes API ক্লায়েন্ট দেখুন।
পাইথন
আরও তথ্যের জন্য, পাইথন ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করা দেখুন।
সম্পূর্ণ ইনস্টলেশন নির্দেশাবলীর জন্য, পাইথনের জন্য গুগল রুটস এপিআই ক্লায়েন্ট দেখুন।
.নেট
আরও তথ্যের জন্য, একটি .Net ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করা দেখুন।
সম্পূর্ণ ইনস্টলেশন নির্দেশাবলীর জন্য, .Net এর জন্য Google Routes API ক্লায়েন্ট দেখুন।
প্রমাণীকরণ সেট আপ করা হচ্ছে
যখন আপনি ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তখন আপনি প্রমাণীকরণের জন্য অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র (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();