API เส้นทางของ Google

การแก้ปัญหา TSP ด้วย Google Directions API

นอกจากนี้ Google ยังนําเสนอวิธีแก้ปัญหา TSP แบบง่ายของสถานที่ตั้งจริงโดยไม่ต้องดาวน์โหลด OR เครื่องมือ หากมีคีย์ Google Directions API คุณจะแก้ไข TSP ของสถานที่ตั้งจริงได้โดยใช้ Directions API ซึ่งจะระบุตําแหน่งใน URL และรับการตอบกลับเป็น JSON คุณจะต้องมีคีย์ Routes API ฟรีของคุณเองสําหรับการพัฒนา หรือคีย์องค์กรสําหรับการใช้งานเชิงพาณิชย์

ลองดูตัวอย่าง URL ที่ใช้ค้นหาทัวร์ชมพื้นที่ผลิตไวน์สั้นๆ ในเซาท์ออสเตรเลียใน URL เริ่มต้นในแอดิเลด หากต้องการลองใช้เบราว์เซอร์นี้ ให้แทนที่ API_KEY ที่ท้าย URL ด้วยคีย์

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

ผลที่ได้จะเป็นการตอบสนอง JSON แบบละเอียดพร้อมรายละเอียดโซลูชัน คําแนะนําจาก 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",
...