ภาพรวม
บริการเมทริกซ์ระยะทางของ Google จะคํานวณระยะทางและเวลาเดินทางระหว่างต้นทางและปลายทางหลายแห่งโดยใช้โหมดการเดินทางที่ระบุ
บริการนี้ไม่ได้แสดงข้อมูลเส้นทางโดยละเอียด ดูข้อมูลเส้นทาง รวมถึงเส้นและทิศทางที่เป็นข้อความได้โดยส่งต้นทางและปลายทางรายการเดียวที่ต้องการไปยังบริการเส้นทาง
การเริ่มต้นใช้งาน
ก่อนที่จะใช้บริการเมทริกซ์ระยะทางใน Maps JavaScript API ก่อนที่จะเปิดใช้ API เมทริกซ์ระยะทางใน Google Cloud Console ในโปรเจ็กต์เดียวกับที่คุณตั้งค่าสําหรับ Maps JavaScript API
วิธีดูรายการ API ที่เปิดใช้
- ไปที่ Google Cloud Console
- คลิกปุ่มเลือกโปรเจ็กต์ แล้วเลือกโปรเจ็กต์เดียวกับที่คุณตั้งค่าไว้สําหรับ Maps JavaScript API แล้วคลิกเปิด
- จากรายการ API ในหน้าแดชบอร์ด ให้มองหา API เมทริกซ์ระยะทาง
- หากเห็น API ในรายการ นั่นหมายความว่าทุกอย่างพร้อมแล้ว หากไม่อยู่ในรายการ API ให้เปิดใช้โดยทําดังนี้
- ที่ด้านบนของหน้า ให้เลือกเปิดใช้ API เพื่อแสดงแท็บไลบรารี หรือเลือกคลังจากเมนูด้านซ้าย
- ค้นหา DISTANCE Matrix API แล้วเลือกจากรายการผลลัพธ์
- เลือกเปิดใช้ เมื่อกระบวนการเสร็จสิ้น API เมทริกซ์ระยะทางจะปรากฏในรายการ API บนหน้าแดชบอร์ด
ราคาและนโยบาย
ราคา
ตั้งแต่วันที่ 16 กรกฎาคม 2018 เป็นต้นไป แผนการตั้งราคาแบบจ่ายเมื่อใช้ใหม่จะเริ่มต้นขึ้นสําหรับ Maps, Routes และ Places โปรดไปที่การใช้งานและการเรียกเก็บเงินเพื่อดู DISTANCE Matrix API เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับราคาและขีดจํากัดการใช้งานใหม่
หมายเหตุ: คําค้นหาแต่ละรายการที่ส่งไปยังบริการเมทริกซ์ระยะทางจะจํากัดจํานวนองค์ประกอบที่อนุญาต โดยจํานวนต้นทางจะคูณด้วยจํานวนจุดหมายเพื่อกําหนดจํานวนองค์ประกอบ
นโยบาย
การใช้บริการเมทริกซ์ระยะทางจะต้องสอดคล้องกับนโยบายที่อธิบายเกี่ยวกับ DISTANCE Matrix API
คําขอเมทริกซ์ระยะทาง
การเข้าถึงบริการเมทริกซ์ระยะทางไม่พร้อมกัน เนื่องจาก Google Maps API ต้องเรียกไปยังเซิร์ฟเวอร์ภายนอก ด้วยเหตุนี้ คุณจึงต้องส่งเมธอด backback (คําขอเรียกกลับ) เพื่อดําเนินการตามคําขอให้เสร็จสมบูรณ์เพื่อประมวลผลผลลัพธ์
คุณเข้าถึงบริการเมทริกซ์ระยะทางภายในโค้ดของคุณผ่านออบเจ็กต์เครื่องมือสร้าง google.maps.DistanceMatrixService
เมธอด DistanceMatrixService.getDistanceMatrix()
จะส่งคําขอไปยังบริการเมทริกซ์ระยะทางโดยการส่งผ่านออบเจ็กต์ลิเทอรัล DistanceMatrixRequest
ที่มีต้นทาง จุดหมาย และโหมดการเดินทาง ตลอดจนเมธอดเรียกกลับเพื่อเรียกใช้เมื่อได้รับการตอบกลับ
var origin1 = new google.maps.LatLng(55.930385, -3.118425); var origin2 = 'Greenwich, England'; var destinationA = 'Stockholm, Sweden'; var destinationB = new google.maps.LatLng(50.087692, 14.421150); var service = new google.maps.DistanceMatrixService(); service.getDistanceMatrix( { origins: [origin1, origin2], destinations: [destinationA, destinationB], travelMode: 'DRIVING', transitOptions: TransitOptions, drivingOptions: DrivingOptions, unitSystem: UnitSystem, avoidHighways: Boolean, avoidTolls: Boolean, }, callback); function callback(response, status) { // See Parsing the Results for // the basics of a callback function. }
DistanceMatrixRequest
มีช่องต่อไปนี้
origins
(ต้องระบุ) — อาร์เรย์ที่มีสตริงอีเมลอย่างน้อย 1 รายการ ออบเจ็กต์google.maps.LatLng
รายการ หรือออบเจ็กต์ Place ที่ใช้คํานวณระยะทางและเวลาdestinations
(ต้องระบุ) — อาร์เรย์ที่มีสตริงอีเมลอย่างน้อย 1 รายการ ออบเจ็กต์google.maps.LatLng
รายการ หรือออบเจ็กต์ Place ที่ใช้คํานวณระยะทางและเวลาtravelMode
(ไม่บังคับ) - รูปแบบการเดินทางที่จะใช้เมื่อคํานวณเส้นทาง ดูที่ส่วนรูปแบบการเดินทางtransitOptions
(ไม่บังคับ) — ตัวเลือกที่ใช้กับคําขอที่มีtravelMode
เป็นTRANSIT
เท่านั้น โปรดดูคําอธิบายที่ถูกต้องในหัวข้อตัวเลือกขนส่งสาธารณะdrivingOptions
(ไม่บังคับ) ระบุค่าที่ใช้กับคําขอที่travelMode
คือDRIVING
เท่านั้น เราได้อธิบายค่าที่ถูกต้องไว้ในส่วนตัวเลือกการขับรถunitSystem
(ไม่บังคับ) — ระบบหน่วยที่จะใช้เมื่อแสดงระยะทาง ค่าที่ยอมรับมีดังนี้google.maps.UnitSystem.METRIC
(ค่าเริ่มต้น)google.maps.UnitSystem.IMPERIAL
avoidHighways
(ไม่บังคับ) - หากtrue
ระบบจะคํานวณเส้นทางระหว่างต้นทางและปลายทางเพื่อหลีกเลี่ยงทางหลวงหากเป็นไปได้avoidTolls
(ไม่บังคับ) - หากtrue
ระบบจะคํานวณเส้นทางระหว่างจุดโดยใช้เส้นทางที่ไม่เก็บค่าผ่านทางหากทําได้
รูปแบบการเดินทาง
เมื่อคํานวณเวลาและระยะทาง คุณระบุได้ว่าจะใช้รูปแบบการเดินทางใด ปัจจุบันเรารองรับรูปแบบการเดินทางต่อไปนี้
BICYCLING
ขอเส้นทางจักรยานผ่านเส้นทางจักรยานและถนนที่ต้องการ (ปัจจุบันมีให้บริการเฉพาะในสหรัฐอเมริกาและบางเมืองของแคนาดาเท่านั้น)DRIVING
(ค่าเริ่มต้น) แสดงเส้นทางการขับขี่มาตรฐานที่ใช้เครือข่ายถนนTRANSIT
ขอเส้นทางผ่านเส้นทางขนส่งสาธารณะ ตัวเลือกนี้ระบุได้ก็ต่อเมื่อคําขอมีคีย์ API ดูหัวข้อที่มีอยู่ในตัวเลือกขนส่งสาธารณะสําหรับตัวเลือกที่มีอยู่ในคําขอประเภทนี้WALKING
ขอเส้นทางเดินผ่านถนนคนเดินและทางเท้า (หากมี)
ตัวเลือกขนส่งสาธารณะ
ขณะนี้บริการขนส่งสาธารณะเป็นแบบ "ทดลอง" ในช่วงนี้ เราจะใช้ขีดจํากัดอัตราเพื่อป้องกันการละเมิด API ท้ายที่สุดเราจะบังคับใช้ขีดจํากัดสูงสุดของคําค้นหาทั้งหมดต่อการโหลดแผนที่ 1 ครั้งโดยอิงตามการใช้งานที่เหมาะสมของ API
ตัวเลือกที่ใช้ได้สําหรับคําขอเมทริกซ์ระยะทางจะแตกต่างกันไปในแต่ละรูปแบบการเดินทาง
ในคําขอขนส่งสาธารณะ ระบบจะไม่สนใจตัวเลือก avoidHighways
และ avoidTolls
คุณระบุตัวเลือกการกําหนดเส้นทางเฉพาะสําหรับขนส่งสาธารณะได้โดยใช้ออบเจ็กต์ TransitOptions
ตามตัวอักษร
คําขอขนส่งสาธารณะมีความละเอียดอ่อนด้านเวลา จะมีการคํานวณเฉพาะเวลาในอนาคตเท่านั้น
ออบเจ็กต์ TransitOptions
ของสัญพจน์มีช่องต่อไปนี้
{ arrivalTime: Date, departureTime: Date, modes: [transitMode1, transitMode2] routingPreference: TransitRoutePreference }
โปรดดูคําอธิบายช่องต่อไปนี้
arrivalTime
(ไม่บังคับ) ระบุเวลาที่ต้องการมาถึงเป็นออบเจ็กต์Date
หากระบุเวลาถึง ระบบจะไม่สนใจเวลาออกเดินทางdepartureTime
(ไม่บังคับ) ระบุเวลาออกเดินทางที่ต้องการเป็นออบเจ็กต์Date
ระบบจะไม่สนใจdepartureTime
หากระบุarrivalTime
ไว้ ค่าเริ่มต้นคือตอนนี้ (ซึ่งก็คือเวลาปัจจุบัน) หากไม่ได้ระบุค่าสําหรับdepartureTime
หรือarrivalTime
modes
(ไม่บังคับ) คืออาร์เรย์ที่มีสัญพจน์ออบเจ็กต์TransitMode
อย่างน้อย 1 รายการ ช่องนี้จะมีได้ก็ต่อเมื่อคําขอมีคีย์ API เท่านั้น แต่ละTransitMode
จะกําหนดรูปแบบการเดินทางที่ต้องการ ค่าที่อนุญาตมีดังนี้BUS
ระบุว่าเส้นทางที่คํานวณแล้วควรเดินทางด้วยรถประจําทางRAIL
ระบุว่าเส้นทางที่คํานวณแล้วควรการเดินทางด้วยรถไฟ รถราง รถไฟฟ้ารางเบา และรถไฟใต้ดินSUBWAY
ระบุว่าเส้นทางที่คํานวณแล้วควรการเดินทางด้วยรถไฟใต้ดินTRAIN
ระบุว่าเส้นทางที่คํานวณแล้วควรการเดินทางด้วยรถไฟTRAM
ระบุว่าเส้นทางที่คํานวณแล้วควรเดินทางด้วยรถรางและรถไฟฟ้ารางเบา
routingPreference
(ไม่บังคับ) ระบุค่ากําหนดสําหรับเส้นทางขนส่งสาธารณะ การใช้ตัวเลือกนี้ช่วยให้มีอคติกับตัวเลือกที่ปรากฏ แทนที่จะยอมรับเส้นทางที่ดีที่สุดตามค่าเริ่มต้นที่ API เลือกไว้ ช่องนี้จะระบุได้ก็ต่อเมื่อคําขอมีคีย์ API ค่าที่อนุญาตมีดังนี้FEWER_TRANSFERS
บ่งบอกว่าเส้นทางที่คํานวณแล้วควรโอนข้อมูลได้จํานวนจํากัดLESS_WALKING
บ่งชี้ว่าเส้นทางที่คํานวณแล้วควรเดินได้จํานวนจํากัด
ตัวเลือกการขับขี่
ใช้ออบเจ็กต์ drivingOptions
เพื่อระบุเวลาออกเดินทางเพื่อคํานวณเส้นทางที่ดีที่สุดไปยังจุดหมายตามสภาพการจราจรที่คาดหวัง นอกจากนี้ คุณยังระบุได้ว่าต้องการให้เวลาโดยประมาณในการเข้าชมเป็นค่าบวก คาดการณ์ หรือคาดการณ์ได้ดีที่สุด โดยอิงตามสภาพการจราจรและการเข้าชมแบบสดที่ผ่านมา
ออบเจ็กต์ drivingOptions
มีช่องต่อไปนี้
{ departureTime: Date, trafficModel: TrafficModel }
โปรดดูคําอธิบายช่องต่อไปนี้
departureTime
(จําเป็นต้องมีลิเทอรัลของdrivingOptions
จึงจะใช้ได้) ระบุเวลาออกเดินทางที่ต้องการเป็นออบเจ็กต์Date
ค่านี้ต้องกําหนดเวลาปัจจุบันหรือเวลาในอนาคต ต้องไม่เป็นวันที่ในอดีต (API จะแปลงวันที่ทั้งหมดเป็น UTC เพื่อให้การจัดการสอดคล้องกันในทุกเขตเวลา) หากรวมdepartureTime
ในคําขอ API จะแสดงผลเส้นทางที่ดีที่สุดโดยอิงตามสภาพการจราจรที่คาดไว้ในขณะนั้น และรวมเวลาที่ระบุในการเข้าชม (duration_in_traffic
) ไว้ในการตอบกลับด้วย หากคุณไม่ระบุเวลาออกเดินทาง (กล่าวคือหากคําขอไม่มีdrivingOptions
) เส้นทางที่ส่งกลับโดยทั่วไปจะเป็นเส้นทางที่ดีโดยไม่ต้องคํานึงถึงสภาพการจราจรหมายเหตุ: หากไม่ได้ระบุเวลาออกเดินทาง ตัวเลือกเส้นทางและระยะเวลาจะขึ้นอยู่กับเครือข่ายถนนและสภาพการจราจรอิสระตามเวลาโดยเฉลี่ย ผลลัพธ์สําหรับคําขอหนึ่งๆ อาจเปลี่ยนแปลงไปตามเวลาเนื่องจากมีการเปลี่ยนแปลงในเครือข่ายถนน สภาพการจราจรโดยเฉลี่ยที่อัปเดต และลักษณะของการกระจายการให้บริการ นอกจากนี้ ผลลัพธ์อาจแตกต่างกันไปตามเส้นทางที่เทียบเท่ากับทุกเมื่อหรือความถี่
trafficModel
(ไม่บังคับ) ระบุสมมติฐานที่จะใช้เมื่อคํานวณเวลาในการเข้าชม การตั้งค่านี้ส่งผลต่อค่าที่แสดงในช่องduration_in_traffic
ในการตอบกลับ ซึ่งมีเวลาที่คาดการณ์ไว้ในการเข้าชมโดยอิงตามค่าเฉลี่ยที่ผ่านมา ค่าเริ่มต้นคือbest_guess
ค่าที่อนุญาตมีดังนี้bestguess
(ค่าเริ่มต้น) บ่งบอกว่าduration_in_traffic
ที่แสดงผลควรเป็นค่าประมาณของเวลาเดินทางที่ดีที่สุดเนื่องจากเป็นข้อมูลที่ทราบเกี่ยวกับทั้งสภาพการจราจรในอดีตและการเข้าชมแบบสด การเข้าชมแบบสดมีความสําคัญมากขึ้นเรื่อยๆ เมื่อเทียบกับdepartureTime
ในขณะนี้pessimistic
บ่งบอกว่าduration_in_traffic
ที่แสดงผลควรนานกว่าเวลาเดินทางจริงเกือบทุกวัน แต่บางครั้งวันที่มีสภาพการจราจรไม่ดีเป็นพิเศษอาจเกินค่านี้optimistic
บ่งบอกว่าduration_in_traffic
ที่แสดงผลควรสั้นกว่าเวลาเดินทางจริงเกือบทุกวัน แต่บางครั้งวันที่มีการเข้าชมที่ดีเป็นพิเศษอาจเร็วกว่าค่านี้
ด้านล่างคือตัวอย่าง DistanceMatrixRequest
สําหรับเส้นทางขับรถ
รวมถึงเวลาออกเดินทางและรูปแบบการจราจร
{ 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() + N), // for the time N milliseconds from now. trafficModel: 'optimistic' } }
การตอบกลับเมทริกซ์ระยะทาง
การเรียกใช้บริการ DISTANCE Matrix สําเร็จจะส่งคืนออบเจ็กต์ DistanceMatrixResponse
และออบเจ็กต์ DistanceMatrixStatus
รายการเหล่านี้จะส่งไปยังฟังก์ชันเรียกกลับที่คุณระบุไว้ในคําขอ
ออบเจ็กต์ DistanceMatrixResponse
มีข้อมูลระยะทางและระยะเวลาสําหรับต้นทาง/ปลายทางแต่ละคู่ที่คํานวณเส้นทางได้
{ "originAddresses": [ "Greenwich, Greater London, UK", "13 Great Carleton Square, Edinburgh, City of Edinburgh EH16 4, UK" ], "destinationAddresses": [ "Stockholm County, Sweden", "Dlouhá 609/2, 110 00 Praha-Staré Město, Česká republika" ], "rows": [ { "elements": [ { "status": "OK", "duration": { "value": 70778, "text": "19 hours 40 mins" }, "distance": { "value": 1887508, "text": "1173 mi" } }, { "status": "OK", "duration": { "value": 44476, "text": "12 hours 21 mins" }, "distance": { "value": 1262780, "text": "785 mi" } } ] }, { "elements": [ { "status": "OK", "duration": { "value": 96000, "text": "1 day 3 hours" }, "distance": { "value": 2566737, "text": "1595 mi" } }, { "status": "OK", "duration": { "value": 69698, "text": "19 hours 22 mins" }, "distance": { "value": 1942009, "text": "1207 mi" } } ] } ] }
ผลลัพธ์ของเมทริกซ์ระยะทาง
โปรดดูคําอธิบายเกี่ยวกับช่องที่รองรับในการตอบกลับด้านล่าง
originAddresses
คืออาร์เรย์ซึ่งมีตําแหน่งที่ส่งผ่านในช่องorigins
ของคําขอเมทริกซ์ระยะทาง ระบบจะแสดงผลที่อยู่ตามรูปแบบโดยโปรแกรมพิกัดทางภูมิศาสตร์destinationAddresses
คืออาร์เรย์ซึ่งมีตําแหน่งที่ส่งผ่านในช่องdestinations
ในรูปแบบที่โปรแกรมพิกัดทางภูมิศาสตร์แสดงผลrows
คืออาร์เรย์ของออบเจ็กต์DistanceMatrixResponseRow
โดยแต่ละแถวจะสอดคล้องกับต้นทางelements
เป็นรายการย่อยของrows
และสอดคล้องกับการจับคู่ต้นทางของแถวกับปลายทางแต่ละรายการ โดยจะมีข้อมูลสถานะ ระยะเวลา ระยะทาง และค่าโดยสาร (หากมี) สําหรับคู่ต้นทาง/ปลายทางแต่ละคู่element
แต่ละรายการจะมีช่องต่อไปนี้status
: ดูรายการรหัสสถานะที่เป็นไปได้ที่รหัสสถานะduration
: เวลาเดินทางที่ใช้เส้นทางนี้แสดงเป็นวินาที (ช่องvalue
) และหน่วยเป็นtext
ค่าข้อความจะได้รับการจัดรูปแบบตามunitSystem
ที่ระบุไว้ในคําขอ (หรือในเมตริก หากไม่มีการระบุค่ากําหนด)duration_in_traffic
: ระยะเวลาในการเดินทางเพื่อไปตามเส้นทางนี้โดยพิจารณาจากสภาพการจราจรปัจจุบัน หน่วยเป็นวินาที (ช่องvalue
) และหน่วยเป็นtext
ค่าข้อความจะได้รับการจัดรูปแบบตามunitSystem
ที่ระบุไว้ในคําขอ (หรือในเมตริก หากไม่มีการระบุค่ากําหนด) ระบบจะส่งduration_in_traffic
กลับไปยังลูกค้า Google Maps Platform Premium ที่ข้อมูลการจราจรพร้อมให้บริการเท่านั้น โดยระบบจะตั้งค่าmode
เป็นdriving
และรวมdepartureTime
ไว้ในช่องdistanceMatrixOptions
ในคําขอdistance
: ระยะทางรวมของเส้นทางนี้ซึ่งแสดงเป็นเมตร (value
) และแสดงเป็นtext
ค่าข้อความจะมีการจัดรูปแบบตามunitSystem
ที่ระบุไว้ในคําขอ (หรือในเมตริก ถ้าไม่มีการระบุค่ากําหนด)fare
: ประกอบด้วยค่าโดยสารทั้งหมด (กล่าวคือ ค่าใช้จ่ายรวมของตั๋ว) ในเส้นทางนี้ ที่พักนี้ส่งคืนตามคําขอขนส่งสาธารณะเท่านั้นและเฉพาะในกรณีที่ผู้ให้บริการขนส่งมีข้อมูลค่าโดยสารเท่านั้น ซึ่งประกอบด้วยcurrency
: รหัสสกุลเงิน ISO 4217 ซึ่งระบุสกุลเงินที่มีจํานวนเงินแสดงอยู่value
: จํานวนเงินค่าโดยสารทั้งหมดในสกุลเงินที่ระบุด้านบน
รหัสสถานะ
การตอบกลับเมทริกซ์ระยะทางจะมีรหัสสถานะสําหรับการตอบกลับทั้งหมด รวมถึงสถานะสําหรับแต่ละองค์ประกอบ
รหัสสถานะการตอบกลับ
รหัสสถานะที่ใช้กับ DistanceMatrixResponse
จะส่งผ่านในออบเจ็กต์ DistanceMatrixStatus
และประกอบด้วย
OK
— คําขอถูกต้อง สถานะนี้อาจแสดงผลได้แม้ว่าจะไม่พบเส้นทางระหว่างต้นทางและปลายทางก็ตาม ดูข้อมูลเกี่ยวกับสถานะระดับองค์ประกอบได้ที่รหัสสถานะองค์ประกอบINVALID_REQUEST
— คําขอที่ระบุไม่ถูกต้อง ปัญหานี้มักเกิดจากการไม่ได้ระบุช่องที่ต้องกรอก ดูรายการช่องที่รองรับด้านบนMAX_ELEMENTS_EXCEEDED
— ผลิตภัณฑ์ต้นทางและปลายทางเกินขีดจํากัดต่อการค้นหาMAX_DIMENSIONS_EXCEEDED
— คําขอของคุณมีต้นทางมากกว่า 25 แห่ง หรือมีปลายทางมากกว่า 25 แห่งOVER_QUERY_LIMIT
— แอปพลิเคชันของคุณขอองค์ประกอบมากเกินไปภายในระยะเวลาที่กําหนด คําขอควรดําเนินการสําเร็จหากคุณลองอีกครั้งหลังช่วงเวลาที่สมเหตุสมผลREQUEST_DENIED
- บริการถูกปฏิเสธไม่ให้ผู้ใช้ใช้บริการเมทริกซ์ระยะทางในหน้าเว็บUNKNOWN_ERROR
— ระบบดําเนินการกับคําขอเมทริกซ์ระยะทางไม่ได้เนื่องจากข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ คําขออาจประสบความสําเร็จหากคุณลองอีกครั้ง
รหัสสถานะขององค์ประกอบ
รหัสสถานะต่อไปนี้ใช้กับออบเจ็กต์ DistanceMatrixElement
ที่เจาะจง
NOT_FOUND
— ต้นทางและ/หรือปลายทางของการจับคู่นี้แสดงพิกัดทางภูมิศาสตร์ไม่ได้OK
— การตอบกลับมีผลลัพธ์ที่ถูกต้องZERO_RESULTS
— ไม่พบเส้นทางระหว่างต้นทางและปลายทาง
การแยกวิเคราะห์ผลลัพธ์
ออบเจ็กต์ DistanceMatrixResponse
มี row
1 รายการสําหรับแต่ละต้นทางที่ส่งในคําขอ โดยแต่ละแถวจะมีช่อง element
สําหรับการจับคู่ต้นทางแต่ละแห่งกับปลายทางที่ระบุ
function callback(response, status) { if (status == 'OK') { var origins = response.originAddresses; var destinations = response.destinationAddresses; for (var i = 0; i < origins.length; i++) { var results = response.rows[i].elements; for (var j = 0; j < results.length; j++) { var element = results[j]; var distance = element.distance.text; var duration = element.duration.text; var from = origins[i]; var to = destinations[j]; } } } }