TRIP – TỐI ƯU TUYẾN ĐƯỜNG

Tổng quan

Cung cấp thông tin về thời gian và khoảng cách dự kiến cho các lộ trình khác nhau, dựa trên phương tiện di chuyển và các ràng buộc địa phương để chọn lộ trình tối ưu nhất.

Đây được coi là phiên bản tiếp theo, được tối ưu hóa hiệu suất của API dẫn đường và ma trận khoảng cách. Công cụ này giúp bạn tìm được tuyến đường lý tưởng từ A đến Z, tính toán giờ đến dự kiến và khoảng cách cho ma trận điểm xuất phát và vị trí đích.

Tại sao nên sử dụng API TRIP

Với TRIP,  bạn có thể nhận thông tin chính xác về tuyến đường và chuyến đi bằng cách sử dụng thông tin chi tiết về phương tiện giao thông, thông tin mới nhất về tình trạng giao thông, đường đi, cũng như các lựa chọn ưu tiên về tuyến đường như:

  • Loại và khả năng của các phương thức vận tải khác nhau
  • Xe đang đi theo hướng nào
  • Tình trạng giao thông và đường bị đóng
  • Vấn đề về an toàn, chẳng hạn như tránh khu vực nguy hiểm hoặc cung cấp khu vực đón khách an toàn
  • Cân bằng độ trễ, chất lượng và chi phí theo các nhu cầu định tuyến của bạn bằng các tính năng không bắt buộc, chẳng hạn như thời gian và quãng đường, cũng như hiệu suất nhiên liệu

Bạn cũng có thể xác định các tuyến hiệu quả nhất để lên lịch điều phối, chẳng hạn như:

  • Xác định tài xế phù hợp nhất
  • Xác định kho hàng tốt nhất để vận chuyển các gói hàng đến điểm đến cuối cùng

Ứng dụng thực tế của API tuyến đường

Với TRIP, bạn có thể nhận hai danh mục thông tin định tuyến chính:

  • Tuyến đường từ một vị trí đến một hoặc nhiều điểm đến
  • Ma trận các tuyến đường có thể có giữa nhiều vị trí bắt đầu và kết thúc.

Bắt đầu tạo yêu cầu chuyến đi

 

URL: /trip

Phương thức: Get

Ví dụ về request (Đầu vào):

$curl “https://rsapi.goong.io/trip?origin=21.03931,105.83997&waypoints=21.03303694945164,%20105.79131815992706;21.017654632470325,%20105.80350611785252;21.00755912449365,%20105.81105921853873;20.99834437409386,%20105.79148982130629;21.00507520431542,%20105.78814242441126;21.0191769116844,%20105.78822825510088;21.026948305457093,%20105.79466555682208;21.012767209964053,%20105.80256198026676;21.020619056604428,%20105.78925822337628;21.01028337649572,%20105.7894298847555&destination=21.01343,105.79855&api_key={YOUR_API_KEY}”

Tham số Mô tả Ví dụ
origin (Optional) Vị trí, tọa độ bắt đầu 21.03931,105.83997
waypoints (Optional) Vị trí, tọa độ điểm  trung gian (ở giữa). Được phân tách bằng dấu chấm phẩy ; nếu có nhiều hơn 2 điểm 16.13901,107.33317;16.13867,107.33330
destination (Optional) Vị trí, tọa độ điểm đến 21.01343,105.79855
vehicle Loại phương tiện. Các lựa chọn là ô tô, xe máy, taxi, xe tải, hd (cho các phương tiện gọi xe). Tuỳ chọn, mặc định là ô tô car
  • Nếu điểm xuất phát hoặc điểm đến không được chỉ định, một tọa độ tốt nhất từ các điểm dừng sẽ được chọn làm điểm xuất phát | điểm đến.
  • Điểm xuất phát, các điểm dừng và điểm đến đều là tùy chọn, nhưng tổng số tọa độ phải ít nhất là 10 để có chuyến đi tối ưu
  • Chuyến đi là chuyến khứ hồi (hành trình quay lại điểm xuất phát), điểm xuất phát và điểm đến phải khác nhau.

 

Ví dụ về response

application/json

{

  “code”: “Ok”,

  “trips”: [

    {

      “distance”: 29360.3,

      “duration”: 9207.8,

      “geometry”: “wfl_Coz~dS{CUEb@jF^~ALzLz@tBPzM`AbAFbJp@w@jH]hDnCVFFHDh@FRDFBbBbArCdB`Aj@h@|A|@hAt@JDnAb@p@Tb@NnAb@rAd@`@NfA^NDb@PlDjAnDpALDLDdAd@VJVHHDNDLF|@VHVJdA^PFNFNdBl@dA^j@Rj@Rd@PnC`Ar@^NH`@D`@AZEVMPY^m@hAyAbDUd@Sb@IR_@x@ADYj@GPcB|DOd@`@RD@lAf@pAj@dAb@`A`@xAl@jAd@fAd@hF~BT^f@B^@dA?~EBn@HZRZ^`@z@v@bBzA|CnCdA~@d@`@ZVjBfBp@j@fA|@z@t@fAz@bEvCdAt@bAt@f@^PL`@@p@t@z@b@h@`@h@JXH^c@t@MVYl@EFq@tAZNpAiCJJ`@d@`@HHJHXVTRFD^NLTTTPNNNLHF??NJ|@p@JDDBARCDc@`@g@l@_@d@IJHK^e@f@m@b@a@BE@SECKE}@q@OK??IGOMOOUQUUOM_@]GEUSYWKImErIqBxDKGq@g@MISOYSW`@y@pAmAnBaBlCuCvEgExGQX_@d@g@l@w@z@}A`BML{@~@a@b@u@|@UVuBbB[T_@VOJkAv@aAh@Ya@X`@k@ZiAf@cA`@kCdAk@TkChAMFUJWJcBx@sAp@q@^k@^s@l@mAnA}@fAa@f@OP{AhBsA~AKJYRULYJe@Hc@BOA[Ce@Gq@Mk@O{@[kAg@UMOZUl@M^M`@EN}@|BCHYdAWd@MTCHKRGJMVIPUd@GJS^CFKRl@Zh@Vd@Vn@No@Oe@Wi@Wm@[JSBGR_@FKTe@HQLWFKJSBILUVe@XeABI|@}BDOLa@L_@Tm@N[q@_@_Ak@cBoAq@}@m@m@cGoFQO_A_A]]_@[]nAIOT[f@CDINSXiAtA}@`Ai@h@OPg@j@WXu@v@w@z@gCfCaBfBs@t@Ub@Uj@EPKOj@e@xBu@hDwAnGGTI`@VHj@ZFD`Ah@zBvA`Al@|AfAs@lAjAr@CLUzAbANS~ArARzBpARtCh@jC`@fBX`C
AJjA?PEt@WZSxAuApEmFtAwAJG|CGRCZGpAnBjBnCl@|@PXn@bAZf@bA~ApAtB|C~EXU|DoCz@o@wBcEvBbEh@x@d@r@xAeAdAs@l@`Ab@r@n@fAxAeA|AiArA_Ad@_@rEkDvEcD~@s@nEgDbFyDtCtEnAhBnAjB|@zAJNz@vA@JDPJPl@|@VSvH{FpAcAHEFGbE}Cb@]`AIj@@d@Fb@Rd@Z|@rANT~CdFBFBFaAb@OJ^n@dA`BPFBH{BfByCzBeBoCaBiCKOqBaDk@}@}AaCbE}Cb@]ObBw@vC{BpAwAZ[h@e@BCNMTQ~AkAXULKx@o@bAu@BAl@e@zA|BtClEjAdB~@tAhBvCdA`BeAaBiBwC_AuAkAeBuCmE{A}BfDgC`CgBVQi@aAmJfHiAz@e@}ErD]XQ@c@Ai@IaAS{Aa@WK_@QYW[_@gAaBq@cAeA_BKIOEKQq@iAS[cA{AkAcBqAoBe@q@_AuAuAuBwAoBe@m@m@q@Y]g@i@w@}@g@k@Y]UUOQa@c@_EsEf@[g@ZW[oAuAY]gBuBaAiAaAgAIAQDIHARJJ|BfCfBrBZ^DDHvAVjEF~@@XBZADALEZo@~Be@xEd@yEn@_CD[@M@EC[AYG_AWkEl@W~AfBn@t@bCnCb@f@PP`@a@Y]UUOQa@c@_EsEW[oAuAY]q@YeH_I{AcBgCyC{A{A[Yo@c@}@q@_@Q}@c@wBcA_CkAq@[y@_@{@c@_@S{As@yAu@}BiAw@a@kB}@WMWM}EaC{Aw@yAw@EC{Ao@_Ac@YIoDq@WGmCg@oASSE{@SSEeBUy@MyAUc@IICaAQ_@IaAUiBa@fAmGN_ALiADU^sAVw@Aa@WqD[kEg@yGYsDQiCMwAMuAEk@Gs@IeAM_BIy@KuAKiAEa@Em@M_BGq@q@eGe@yDKw@Iq@Ea@AMAG?c@@K@SHq@NmAFc@DWNaA`@uBD[TmAJc@DUDW@CDQ?CH_@F[@GLm@Je@Lo@??FUDSF]Nq@XyAVoAp@qDVqALo@?ABQt@wDd@aCHe@TcALq@KKSGcBQuC[mIs@{AKyMaAuBO{L}@aBMmAI”,

      “legs”: [

        {

          “distance”: 5933.8,

          “duration”: 1224.4,

          “steps”: [],

          “summary”: “”,

          “weight”: 1224.4

        },

        {

          “distance”: 1885.3,

          “duration”: 408.7,

          “steps”: [],

          “summary”: “”,

          “weight”: 408.7

        },

        {

          “distance”: 1658.9,

          “duration”: 431.6,

          “steps”: [],

          “summary”: “”,

          “weight”: 431.6

        },

        {

          “distance”: 2469,

          “duration”: 661.5,

          “steps”: [],

          “summary”: “”,

          “weight”: 661.5

        },

        {

          “distance”: 2075.6,

          “duration”: 504,

          “steps”: [],

          “summary”: “”,

          “weight”: 504

        },

        {

          “distance”: 256.1,

          “duration”: 107.1,

          “steps”: [],

          “summary”: “”,

          “weight”: 107.1

        },

        {

          “distance”: 1376.9,

          “duration”: 305.6,

          “steps”: [],

          “summary”: “”,

          “weight”: 305.6

        },

        {

          “distance”: 1403.7,

          “duration”: 1771.6,

          “steps”: [],

          “summary”: “”,

          “weight”: 1771.6

        },

        {

          “distance”: 1550.2,

          “duration”: 1750.1,

          “steps”: [],

          “summary”: “”,

          “weight”: 1750.1

        },

        {

          “distance”: 2670.3,

          “duration”: 509,

          “steps”: [],

          “summary”: “”,

          “weight”: 509

        },

        {

          “distance”: 999.7,

          “duration”: 238.9,

          “steps”: [],

          “summary”: “”,

          “weight”: 238.9

        },

        {

          “distance”: 7080.8,

          “duration”: 1295.3,

          “steps”: [],

          “summary”: “”,

          “weight”: 1295.3

        }

      ],

      “weight”: 9207.8,

      “weight_name”: “routability”

    }

  ],

  “waypoints”: [

    {

      “distance”: 5.136911,

      “location”: [

        21.039316,

        105.839921

      ],

      “place_id”: “Qeza2NKABQXYxSPKnN1jWej8f9qZunsn4_BW8Jy7USDaw1DBg4N_J9rCN_yBuEEj9NIJwKyAImJR_fec5KlVIVj9VIObhmtM7-433Kzf9ELsVTvnmarbWuzDO_SAgUFk6sMV24OpVVzv_jPwmYFJXe3CO-a7r0FZjsM77N-AVV3A7VTfr5dFYu-aFeCYhiNi9_4365irSUTvwzvSrYFFYdrgL-CcuX9D75kz-Jq7SVPb7C_mmN5RXuPtNMsM”,

      “trips_index”: 0,

      “waypoint_index”: 0

    },

    {

      “distance”: 2.754927,

      “location”: [

        21.033061,

        105.791325

      ],

      “place_id”: “pl1MiIkisHbi5wfAlY5fLeaRGNSeiWpM6uTl6_2wKlieDPb059dYTOf1aPiSsS4v5MwQwonUUC7V5bLjpTpYKv3P1-mis0xL5uc-1aXWXEvS5TLukKNIU-XKMv2JiEht48oc0oqHXFXm9zqgkPlAVOTLMu-m1khQ5coyyYmJXFTR5F3Wpp5Ma-aTHOmRjypr_vc-4pGiQE3myjLbpHaIVaNPpJumVTHZK5pA68ZOyQFrS5SbvkddYV-rkPcI”,

      “trips_index”: 0,

      “waypoint_index”: 4

    },

    {

      “distance”: 22.416487,

      “location”: [

        21.017809,

        105.803366

      ],

      “place_id”: “bZTXSeOUyuD7lFWPk7RobvjPJ8ynjCpR7Mkr-o-3XXLi4x3NlaV7d_rgK8iPi4Ir4soQrdJGK01fXcwnRjLnyStFdBfCgm3dO4-I70KDTWU4v4DfrlaZN11bPN12MjU1okM_4GealWVCP8j_8lY1FUeHON-qj001V4M83zIyMWVHU4VjTt6NJbuOWGeybii9u-_I755SnRfhIzzfeoY1J49bsI-yQtXNP45U_9OC3RV_XliPq4NJdUu_hOMc”,

      “trips_index”: 0,

      “waypoint_index”: 2

    },

    {

      “distance”: 31.015553,

      “location”: [

        21.007758,

        105.811269

      ],

      “place_id”: “MtGIptXLVbDkkgTSpZ5MXuf3APSjWC9v_-nW05Iqalf-5F3okLEjRP3kIcKmnkBVy1cxYiZHUT2WV5CL3_YlIbZHlLvKjilBk5uc-1aXWXEvS5f3ukKNIUzLK5f2JiEh248oc0oqgbVzmsjr5kPdAVOSIMu-m1khQ5eUyyYeJXFTK5F2J1p5Ma-aTHOmRjypr_vc-4pGiQE3myjLbpCpMiNPpJumVaHZK5pA68ZOyQFrS5SbvkddYV-rkPcI”,

      “trips_index”: 0,

      “waypoint_index”: 1

    },

    {

      “distance”: 134.579692,

      “location”: [

        20.999314,

        105.79071

      ],

      “place_id”: “v2vfjerMdvj61jvOl61RWf6aFtG7kj5q_5U3z5e-NlvP10TVv64yTOPXBcyJyVEy-TcN35TJTdHIMyf2-uMpFN-DSP_S_rlFW-_ojyLjLQVbP-C_zjb5VTvjXL-CUlVVw_ogBz9e9QUj7lyfkjZVdSfnWL_K7y1VNr9cv1JT4QfmU-UDLu4NJUfuOAfSM4Dd2kuoj_4zjXVD71y_GuZVRdc70O_SIrWtX-40n7I6vXUfP-DtFjMr4SvdF8iA”,

      “trips_index”: 0,

      “waypoint_index”: 9

    },

    {

      “distance”: 43.717286,

      “location”: [

        21.005389,

        105.787887

      ],

      “place_id”: “RS92N5P4xtfjjEDlg5dge_r7EeqMlDZE-usg3ri9XTfg-QX1lL4-Uc-Nmj-P2knQ1-Y3T3oOhYzPP1jP0jYhVd870Gf-Uu1V5-_ojyLjLQVbP-K_zjb5VTvgv1-CUlVVw_tcBz5e9QUj76ifkjZVdSfk3L_K7y1XW-E0v1JSUQUXM-UnLu4NRQPuOAfSMkjd24-oja4y__1D71y9duZVRdc70O_SIrWtX-40n7I6v4Edd-DvyjMrPSvf5IN8”,

      “trips_index”: 0,

      “waypoint_index”: 8

    },

    {

      “distance”: 15.681507,

      “location”: [

        21.019095,

        105.788105

      ],

      “place_id”: “m_6CF6iCgtDswTHagat5b-_iOeGeg1Mj4u4T4oHcfWHZ8iaEmLlyben-JeithGVV7O8T3a-qW3np0DHmuYJhWNniKf_dhUdi7ew13q7dV0DZ7jnlU6hDWO7BjJs5g0Nm6MH22YGrV17t_DHym4NLX-_AOeR93a1b7sE5wkOCV1_a71bdrZVHYO2YF-KahCFg9fw1IZqpS-ntwTlGr4NHY9j2LeKeu31B4u0x-pi5S1HZ7i3KkmtxTXOHvNsk”,

      “trips_index”: 0,

      “waypoint_index”: 6

    },

    {

      “distance”: 69.479722,

      “location”: [

        21.027187,

        105.795284

      ],

      “place_id”: “iM9t50LlUU795TvmlohwT7D1MI2S0Ep2heZTsZyMTlrPz230l9coWuCTLPWQsSBQ5s0g9ZPVXSz_kQX_iIhoWMCQCeinjVEt5OU816fUXnTQ5zDskqFJSufIMP-Likpv4cge0Iiil1fk9Tj7XoqSVubJMO2k1EpS58gwy4uLXlbT5l_UpJxOaeSRHuuTjShp_PU84JOgQk_kyDDZpopOatHrJOuXsnRI5JI485GwQljQ5yTtk9VaVejmP8AT”,

      “trips_index”: 0,

      “waypoint_index”: 3

    },

    {

      “distance”: 19.450353,

      “location”: [

        21.01267,

        105.802406

      ],

      “place_id”: “6QHohMH0r3joXOnbUb6veurGN_VBrJhV6ntiiumsqyfuXSzPZ9qrUfLrN-Bd2J5o3MAGzXjaqCXw6g6GdISoI_D0I8Bzsagj6-oz2FHbnUbf6D_IjRa6EXujHP_BFhYdg7scRv1HfnVjr-jetTYWrWenGP-JF24Rd6Mc_xFGEq1nc6VDbQZOcZuueEeQngpxm8_oz702vqUDrxz_WQYWYZd7kK-R7vZ5H6503_E2_nFff6CviVdqYWufpMM8”,

      “trips_index”: 0,

      “waypoint_index”: 10

    },

    {

      “distance”: 8.278421,

      “location”: [

        21.020549,

        105.789286

      ],

      “place_id”: “x6_uha6MX__Y8rkhmiFKXWun2hemeulQn7t8p3a7dQyL2wQyEnbdQJNjyE8mYuVdN6f4tIe6FdtDemAcmwIF1RNrBB-idgmli7ew13q7dV0BT7tnlm6hDWDnBOfaCg0Nm6MEX2YGrV33t_DHym4NeS-_AOeSt3UNb7sE5woKCV1_a71bdrZVHYO2YF-KahCFg9fw16ZqpS0btwTnQr4NHY9jiLeKeu31B7Zsx-pi5S1HZ7i3kmtxTXOHvNsk”,

      “trips_index”: 0,

      “waypoint_index”: 5

    },

    {

      “distance”: 38.043008,

      “location”: [

        21.010007,

        105.789648

      ],

      “place_id”: “8fGEhdnxiVzB8Rj3nLZiefWBBPbYqGpGx7Al2Ya1N0D27Qzik55-efPhKYqdm3pp_oUtn4adO3792z3XYqeKfPffLptcpEhH8ukqwbHCSF_zxib6hLc-XPHeJumdnEd5994Ixp60SEHy4y7thJxUQPDfJvuywlxE8d4m3Z2dSEDF8EnCsopYf_KHCP2Fmz5_6BuMq9oW2VFny3ibPsJxYfMdM_f2BpGJe8qYu5YcyVE7GpjL7hcNMQ_7wKdY”,

      “trips_index”: 0,

      “waypoint_index”: 7

    },

    {

      “distance”: 36.917935,

      “location”: [

        21.013758,

        105.798614

      ],

      “place_id”: “RrhWKDhh7vf0m1fylIB3bO3sBv2bgyFT7Xw3ya-q_CD3ShLig6hzbvfsEv6elHhG7-ONKKndSmP3_djRl6lSYd_9KcGDpgZe7O0036_cVkHY7zggmqlC5O_AOFmDgkJn6cAW2ICqVl_s_TDzmoJKXu7Bn-U43EJLa78Csw4ODVl7b7lfcrJRG7-xhFuObhSCZ9P006Juo90dKwDjRroLsYtnjLOOfunxA7Jow-5m4SlDY7yzlm91SXeDuN8g”,

      “trips_index”: 0,

      “waypoint_index”: 11

    }

  ]

}

Tham số

Mô tả Ví dụ
Code Mã trả về thành công hoặc lỗi. ok
Nếu trả về mã code “ok” nghĩa là thành công.
Ngược lại, nếu lỗi thì trả về mã lỗi tương ứng.
trips Các chuyến và hành trình đã tạo. Tao gồm điểm đến, tuyến đường đi, thời gian (duration), khoảng cách (distance) , thứ tự di chuyển trong hành trình(Step), khoảng cách giữa các điểm trong hành trình (weight)…
waypoints Các điểm trung gian hoặc điểm dừng
Trip_index Mảng hoặc danh sách các chuyến đi mà mỗi phần tử trong đó đại diện cho một chuyến đi cụ thể. 0
Waypoint_index danh sách các điểm định vị cụ thể trên một tuyến đường 11
place_id thông tin chi tiết về các địa điểm 6QHohMH0r3joXOnbUb6veurGN_VBrJhV6n
tiiumsqyfuXSzPZ9qrUfLrN-Bd2J5o3MAGzXjaqCXw6g6GdISoI_D0I8B
zsagj6oz2FHbnUbf6D_IjRa6EXujHP_
BFhYdg7scRv1HfnVjr-jetTYWrWenGP-JF24Rd6Mc_xFGEq1nc6VDbQZOcZuue
EeQngpxm8_oz702vqUDrxz_WQYWYZd7kK-R7vZ5H6503_E2_nFff6CviVdqYWufpMM8″