מעבר לשימוש במחלקה Route Matrix

מפתחים באזור הכלכלי האירופי (EEA)

הכיתה RouteMatrix מחליפה את שירות מטריצת המרחקים, Maps JavaScript API (הגרסה הקודמת). בדף הזה מוסברים ההבדלים בין שירות מטריצת מרחקים מדור קודם לבין ספריית JavaScript החדשה, ומוצג קוד להשוואה.

‫Distance Matrix API (הגרסה הקודמת) לעומת המחלקה Route Matrix

בטבלה הבאה מוצגת השוואה בין הפרמטרים של הבקשות ב-Distance Matrix API (דור קודם) לבין אלה של המחלקה RouteMatrix.

שירות מטריצת מרחקים, Maps JavaScript API (גרסה קודמת) RouteMatrix נדרש או אופציונלי
origins origins חובה
destinations destinations חובה
travelMode travelMode אופציונלי
transitOptions transitPreference אופציונלי
arrivalTime arrivalTime אופציונלי
drivingOptions departureTime, trafficModel אופציונלי
unitSystem units אופציונלי
avoidHighways, avoidTolls RouteModifiers אופציונלי

השוואת קודים

בקטע הזה אנחנו משווים בין שני קטעי קוד דומים כדי להמחיש את ההבדלים בין Distance Matrix API (דור קודם) לבין המחלקה החדשה RouteMatrix. קטעי הקוד מציגים את הקוד שנדרש בכל API כדי לשלוח בקשה לקבלת מסלול ולראות את התוצאות.

‫Distance Matrix API (הגרסה הקודמת)

הקוד הבא שולח בקשה למטריצת מרחקים באמצעות Distance Matrix API (דור קודם).

// Define the request.
const request = {
  origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'],
  destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}],
  travelMode: 'DRIVING',
  drivingOptions: {
    departureTime: new Date(Date.now()),
    trafficModel: 'optimistic'
  }
};

// Make the request.
service.getDistanceMatrix(request).then((response) => {
  // Display the response.
  document.getElementById("response").textContent = JSON.stringify(
    response,
    null,
    2,
  );
});
    

הכיתה Route Matrix

הקוד הבא שולח בקשה למטריצת מרחקים באמצעות המחלקה החדשה Route Matrix:

// Define the request.
const request = {
  origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'],
  destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}],
  travelMode: 'DRIVING',
  departureTime: new Date(),
  trafficModel: 'optimistic'
};

// Make the request.
const response = await RouteMatrix.computeRouteMatrix(request);

// Display the response.
document.getElementById("response").setValue(JSON.stringify(response, null, 2,));