API Google Chỉ đường

Giải quyết các TSP bằng API Chỉ đường của Google

Google cũng cung cấp một cách để giải quyết các TSP đơn giản về vị trí trong thế giới thực mà không cần tải xuống OR-Tools. Nếu có khoá API Chỉ đường của Google, bạn có thể giải quyết các TSP của vị trí thực tế bằng API Chỉ đường, cung cấp các vị trí trong một URL và nhận lại phản hồi dưới dạng JSON. Bạn sẽ cần có khoá API Chỉ đường miễn phí để phát triển hoặc sử dụng khoá doanh nghiệp cho mục đích thương mại.

Ví dụ: đây là URL có thể dùng để tìm chuyến tham quan ngắn về các vùng làm rượu vang ở Nam Úc, bắt đầu ở Adelaide. Nếu bạn muốn thử trình duyệt này từ trình duyệt, hãy thay thế API_KEY ở cuối URL bằng khoá của bạn.

https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&key=API_KEY

Kết quả sẽ là một phản hồi JSON dài nêu chi tiết về giải pháp, hoàn chỉnh theo hướng dẫn của Google Maps:

{
   "routes" : [
      {
         "bounds" : {
            "northeast" : {
               "lat" : -33.8347115,
               "lng" : 140.8547058
            },
            "southwest" : {
               "lat" : -37.3511758,
               "lng" : 138.4951576
            }
         },
         "copyrights" : "Map data ©2014 Google",
         "legs" : [
            {
               "distance" : {
                  "text" : "139 km",
                  "value" : 139119
               },
               "duration" : {
                  "text" : "1 hour 51 mins",
                  "value" : 6648
               },
               "end_address" : "Clare SA 5453, Australia",
               "end_location" : {
                  "lat" : -33.8333395,
                  "lng" : 138.6117283
               },
               "start_address" : "Adelaide SA, Australia",
               "start_location" : {
                  "lat" : -34.9285894,
                  "lng" : 138.5999429
               },
               "steps" : [
                  {
                     "distance" : {
                        "text" : "70 m",
                        "value" : 70
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 6
                     },
                     "end_location" : {
                        "lat" : -34.9285338,
                        "lng" : 138.6007031
                     },
                     "html_instructions" : "Head \u003cb\u003eeast\u003c/b\u003e on \u003cb\u003eReconciliation Plaza\u003c/b\u003e toward \u003cb\u003eVictoria Square\u003c/b\u003e",
...