توضِّح هذه الصفحة كيفية بدء استخدام مكتبات عملاء Routes API.
يمكنك الاطّلاع على مزيد من المعلومات عن مكتبات البرامج في مقالة شرح مكتبات البرامج .
تثبيت مكتبة البرامج
Java
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إعداد بيئة تطوير Java.
اطّلِع على Google Routes API Client for Java للاطّلاع على تعليمات التثبيت.
البدء
go get cloud.google.com/go/maps
يُرجى الاطّلاع على Google Routes API Client for Go للحصول على تعليمات التثبيت.
Node.js
npm install @googlemaps/routing
للحصول على تعليمات التثبيت الكاملة، يمكنك الاطّلاع على عميل Google Routes API لنظام Node.js.
Python
لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إعداد بيئة تطوير Python.
للحصول على تعليمات التثبيت الكاملة، اطّلِع على Google Routes API Client for Python.
.Net
لمزيد من المعلومات، يُرجى الاطّلاع على إعداد بيئة تطوير Net ..
للحصول على تعليمات التثبيت الكاملة، يُرجى الاطّلاع على برنامج Google Routes API for .Net
إعداد المصادقة
عند استخدام مكتبات البرامج، يمكنك استخدام بيانات الاعتماد التلقائية للتطبيق (ADC) للمصادقة. للحصول على معلومات عن إعداد "بيانات اعتماد التطبيق التلقائية"، يُرجى الاطّلاع على مقالة تقديم بيانات اعتماد "بيانات اعتماد التطبيق التلقائية". للحصول على معلومات عن استخدام ADC مع مكتبات العملاء، يُرجى الاطّلاع على المصادقة باستخدام مكتبات البرامج.
استخدام مكتبة البرامج
Java
مثال على مسارات الحوسبة:
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) } }
Node.js
مثال على مسارات الحوسبة:
// 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();
Python
.Net