עבודה עם קווים פוליגוניים

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

השיטה computeRoutes מחזירה את המסלול שמיוצג על ידי קו פוליגוני כחלק מהתשובה. אפשר לבקש שני סוגים של קווים פוליגוניים:

  • קו מרובה בסיסי (ברירת מחדל), מייצג מסלול אבל בלי מידע על תנועת התנועה שמוטמע בקו המרובה. בקשות שמחזירות קו פוליגוני בסיסי מחויבות בתעריף של Routes Basic. מידע נוסף על חיוב ב-Routes API
  • polyline עם נתונים על מצב התנועה, מכיל מידע על מצב התנועה לאורך המסלול. מצב התנועה מוצג לפי קטגוריות מהירות (NORMAL, SLOW, TRAFFIC_JAM) שרלוונטיות למרווח נתון של הקו הפוליגוני. החיוב על בקשות של קווי פוליגון עם נתונים על תנועת התנועה הוא לפי התעריף המועדף של Routes. מידע נוסף על חיוב ב-Routes API
  • קו פוליגוני רב-אמצעי, מכיל פרטים על תחבורה ציבורית וגם מידע על מצב התנועה. בקשות לקווי פוליגון מרובי-אופנים מחויבות בתעריף של Routes Preferred. מידע נוסף על חיוב ב-Routes API

קו מרובה בסיסי (ברירת מחדל)

קו פוליגוני מיוצג על ידי אובייקט Polyline, ונתיב הוא מערך של קואורדינטות LatLngAltitude. כדי להחזיר קו פוליגוני בסיסי, קוראים לשיטה computeRoutes עם המאפיין fields שמוגדר לערך path, ואז קוראים לשיטה createPolylines במופע של המסלול כדי לקבל אובייקט Polyline.

בדוגמה הבאה אפשר לראות איך מבקשים קו פוליגוני בסיסי:

// Define a basic routes request.
const requestWithBasicPolyline = {
  origin: '155 Steuart St, San Francisco, CA 94105',
  destination: '450 Powell St, San Francisco, CA 94102',
  travelMode: 'WALKING',
  fields: ['path'],  // Request path field to get a polyline.
};
  

קו פוליגוני עם נתונים על עומסי תנועה

כדי לבקש קו פוליגוני שמודע לתנועה, מוסיפים את המאפיינים הבאים לבקשה:

  1. מגדירים את המאפיין travelMode לערך DRIVING.
  2. מגדירים את המאפיין routingPreference לערך TRAFFIC_AWARE.
  3. מגדירים את המאפיין extraComputations לערך TRAFFIC_ON_POLYLINE.
  4. מציינים את השדות path,‏ speedPaths ו-routeLabels.

בדוגמה הבאה אפשר לראות איך מבקשים קו פוליגוני שמתחשב בתנועה:

// Define a traffic aware routes request.
const requestWithTraffic = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE',
  extraComputations: ['TRAFFIC_ON_POLYLINE'],
  fields: ['speedPaths'],
};
  

הצגת קווים פוליגוניים במפה

כדי להציג קווים פוליגוניים במפה, קוראים ל-createPolylines באובייקט המסלול, ואז משתמשים בשיטה setMap כדי להגדיר את המפה של הקו הפוליגוני לאובייקט המפה. אובייקט המפה משמש להצגת הקו הפוליגוני במפה.

בדוגמה הבאה אפשר לראות איך מציגים קו פוליגוני במפה:

  // Call createPolylines to create polylines for the first route.
  mapPolylines = routes[0].createPolylines();
  // Add polylines to the map.
  mapPolylines.forEach((polyline) => polyline.setMap(map));