บทนำ
คำขอ Distance Matrix API มีรูปแบบดังนี้
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
โดย outputFormat อาจมีค่าใดค่าหนึ่งต่อไปนี้
json(แนะนํา) ระบุเอาต์พุตใน JavaScript Object Notation (JSON)xmlระบุเอาต์พุตเป็น XML
พารามิเตอร์บางรายการเป็นพารามิเตอร์ที่จำเป็น ส่วนบางรายการเป็นพารามิเตอร์ที่ไม่บังคับ ตามมาตรฐานใน
URL พารามิเตอร์ทั้งหมดจะคั่นด้วยเครื่องหมายแอมเพอร์แซนด์ (&) อักขระที่สงวนไว้ทั้งหมด (เช่น เครื่องหมายบวก "+") ต้องเข้ารหัส URL รายการพารามิเตอร์
และค่าที่เป็นไปได้แสดงอยู่ด้านล่าง
พารามิเตอร์ที่จำเป็น
-
ปลายทาง
สถานที่อย่างน้อย 1 แห่งที่จะใช้เป็นจุดสิ้นสุดในการคำนวณระยะทางและเวลาในการเดินทาง ตัวเลือกสำหรับพารามิเตอร์ปลายทางจะเหมือนกับ พารามิเตอร์ต้นทาง
-
origins
จุดเริ่มต้นสำหรับการคำนวณระยะทางและเวลาในการเดินทาง คุณ ระบุสถานที่อย่างน้อย 1 แห่งโดยคั่นด้วยอักขระไปป์ (|) ในรูปแบบ รหัสสถานที่ ที่อยู่ หรือพิกัดละติจูด/ลองจิจูดได้
-
รหัสสถานที่: หากระบุรหัสสถานที่ คุณต้องนำหน้าด้วย
place_id: -
ที่อยู่: หากส่งที่อยู่ บริการจะเข้ารหัสภูมิศาสตร์
สตริงและแปลงเป็นพิกัดละติจูด/ลองจิจูดเพื่อ
คำนวณระยะทาง พิกัดนี้อาจแตกต่างจากพิกัดที่ Geocoding API แสดง เช่น ทางเข้าอาคารแทนที่จะเป็นจุดกึ่งกลาง
หมายเหตุ: เราขอแนะนำให้ใช้รหัสสถานที่แทนการใช้ที่อยู่หรือ พิกัดละติจูด/ลองจิจูด การใช้พิกัดจะส่งผลให้ ระบบปักหมุดไปยังถนนที่ใกล้กับพิกัดเหล่านั้นมากที่สุดเสมอ ซึ่งอาจไม่ใช่จุดเข้าถึงของที่พัก หรือแม้แต่ถนนที่ จะนำไปสู่จุดหมายปลายทางได้อย่างรวดเร็วหรือปลอดภัย การใช้ที่อยู่จะ แสดงระยะทางไปยังศูนย์กลางของอาคาร ไม่ใช่ ทางเข้าอาคาร
- พิกัด: หากส่งพิกัดละติจูด/ลองจิจูด ระบบจะปักหมุดพิกัดดังกล่าวบนถนนที่ใกล้ที่สุด เราขอแนะนำให้ส่งรหัสสถานที่ หากส่งพิกัด โปรดตรวจสอบว่าไม่มีการเว้นวรรค ระหว่างค่าละติจูดและลองจิจูด
-
Plus Codes ต้องจัดรูปแบบเป็นรหัสสากลหรือ
รหัสผสม จัดรูปแบบ Plus Codes ดังที่แสดงที่นี่ (เครื่องหมายบวกจะ
หลีกเลี่ยง URL เป็น %2B และการเว้นวรรคจะหลีกเลี่ยง URL เป็น %20)
-
รหัสสากล คือรหัสพื้นที่ 4 หลักและรหัสท้องถิ่น 6 หลักขึ้นไป (
849VCWC8+R9จะได้รับการเข้ารหัสเป็น849VCWC8%2BR9) -
รหัสผสมคือรหัสท้องถิ่น 6 หลักขึ้นไป
ที่มีการระบุตำแหน่งชัดเจน (
CWC8+R9 Mountain View, CA, USAได้รับการเข้ารหัสเป็นCWC8%2BR9%20Mountain%20View%20CA%20USA)
-
รหัสสากล คือรหัสพื้นที่ 4 หลักและรหัสท้องถิ่น 6 หลักขึ้นไป (
-
เส้นหลายเส้นที่เข้ารหัส หรือคุณจะระบุชุดพิกัดที่เข้ารหัสโดยใช้อัลกอริทึมเส้นหลายเส้นที่เข้ารหัสก็ได้ ซึ่งจะเป็นประโยชน์อย่างยิ่งหากคุณมีจุดต้นทางจำนวนมาก เนื่องจาก URL จะสั้นลงอย่างมากเมื่อใช้ Polyline ที่เข้ารหัส
-
พอลีไลน์ที่เข้ารหัสต้องขึ้นต้นด้วย
enc:และตามด้วยเครื่องหมายโคลอน:เช่นorigins=enc:gfo}EtohhU: -
นอกจากนี้ คุณยังใส่ Polyline ที่เข้ารหัสหลายรายการได้โดยคั่นด้วย
อักขระไปป์
|เช่นorigins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:
-
พอลีไลน์ที่เข้ารหัสต้องขึ้นต้นด้วย
-
รหัสสถานที่: หากระบุรหัสสถานที่ คุณต้องนำหน้าด้วย
พารามิเตอร์ที่ไม่บังคับ
-
arrival_time
ระบุเวลาที่ต้องการถึงสำหรับเส้นทางการเดินทางโดยระบบขนส่งสาธารณะเป็นวินาที ตั้งแต่เที่ยงคืนวันที่ 1 มกราคม 1970 UTC คุณระบุ
departure_timeหรือarrival_timeได้อย่างใดอย่างหนึ่ง แต่จะระบุทั้ง 2 อย่างไม่ได้ โปรดทราบว่าต้องระบุarrival_timeเป็นจำนวนเต็ม -
หลีกเลี่ยง
ระบบอาจคำนวณระยะทางตามข้อจำกัดบางอย่าง ข้อจํากัดจะระบุโดยใช้พารามิเตอร์หลีกเลี่ยงและอาร์กิวเมนต์ ไปยังพารามิเตอร์นั้นซึ่งระบุข้อจํากัดที่จะหลีกเลี่ยง ระบบรองรับข้อจำกัดต่อไปนี้
-
tollsระบุว่าเส้นทางที่คำนวณควรหลีกเลี่ยงถนน/สะพานที่มีค่าผ่านทาง -
highwaysระบุว่าเส้นทางที่คำนวณแล้วควรหลีกเลี่ยง ทางหลวง -
ferriesระบุว่าเส้นทางที่คำนวณแล้วควรหลีกเลี่ยง เรือข้ามฟาก -
indoorระบุว่าเส้นทางที่คำนวณแล้วควรหลีกเลี่ยง บันไดในอาคารสำหรับเส้นทางการเดินและการเดินทางด้วยระบบขนส่งสาธารณะ
คุณขอเส้นทางที่หลีกเลี่ยงค่าผ่านทาง ทางหลวง และเรือข้ามฟากได้ โดยส่งข้อจำกัดทั้ง 2 อย่างไปยังพารามิเตอร์ "หลีกเลี่ยง" เช่น
avoid=tolls|highways|ferriesหมายเหตุ: การเพิ่มข้อจำกัดไม่ได้เป็นการกีดกันเส้นทางที่มีฟีเจอร์ที่ถูกจำกัด แต่จะทำให้ผลลัพธ์เป็นเส้นทางที่เหมาะสมกว่า -
-
departure_time
ระบุเวลาออกเดินทางที่ต้องการ คุณระบุเวลาเป็น จำนวนเต็มในหน่วยวินาทีตั้งแต่เที่ยงคืนของวันที่ 1 มกราคม 1970 (UTC) ได้ หากระบุ
departure_timeที่ช้ากว่า 9999-12-31T23:59:59.999999999Z API จะเปลี่ยนกลับdeparture_timeเป็น 9999-12-31T23:59:59.999999999Z หรือจะระบุค่าเป็น now ก็ได้ ซึ่งจะตั้งเวลาออกเดินทางเป็นเวลาปัจจุบัน (ถูกต้องจนถึง วินาทีที่ใกล้ที่สุด) คุณระบุเวลาออกเดินทางได้ใน 2 กรณีต่อไปนี้-
สำหรับคำขอที่มีโหมดการเดินทางเป็นขนส่งสาธารณะ คุณสามารถระบุตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ได้โดยไม่บังคับ
departure_timeหรือarrival_timeหากไม่ได้ระบุเวลาใดเวลาหนึ่งdeparture_timeจะใช้ค่าเริ่มต้น เป็นเวลาปัจจุบัน (กล่าวคือ เวลาออกเดินทางจะใช้เวลาปัจจุบันเป็นค่าเริ่มต้น) -
สำหรับคำขอที่โหมดการเดินทางเป็น "ขับรถ" คุณสามารถระบุ
departure_timeเพื่อรับเส้นทางและระยะเวลาการเดินทาง (ฟิลด์การตอบกลับ: duration_in_traffic) ที่พิจารณาสภาพการจราจร ด้วย ต้องตั้งค่าdeparture_timeเป็นเวลาปัจจุบัน หรือเวลาในอนาคต ต้องไม่ใช่วันที่ที่ผ่านมาแล้ว
หมายเหตุ: หากไม่ได้ระบุเวลาออกเดินทาง การเลือกเส้นทางและระยะเวลาจะอิงตามเครือข่ายถนนและสภาพการจราจรโดยเฉลี่ยที่ไม่ขึ้นอยู่กับเวลา ผลลัพธ์สำหรับคำขอหนึ่งๆ อาจแตกต่างกันไปเมื่อเวลาผ่านไปเนื่องจากการเปลี่ยนแปลงในเครือข่ายถนน สภาพการจราจรโดยเฉลี่ยที่อัปเดตแล้ว และลักษณะการกระจายของบริการ ผลลัพธ์อาจแตกต่างกันไปในเส้นทางที่เกือบจะเทียบเท่ากันได้ทุกเมื่อหรือทุกความถี่หมายเหตุ: คำขอ Distance Matrix ที่ระบุdeparture_timeเมื่อmode=drivingจะจำกัดไว้ที่องค์ประกอบสูงสุด 100 รายการต่อคำขอ จำนวนต้นทางคูณจำนวนปลายทางจะกำหนดจำนวนองค์ประกอบ -
สำหรับคำขอที่มีโหมดการเดินทางเป็นขนส่งสาธารณะ คุณสามารถระบุตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ได้โดยไม่บังคับ
-
ภาษา
ภาษาที่จะแสดงผลลัพธ์
- ดู รายการภาษาที่รองรับ Google มักจะอัปเดตภาษาที่รองรับอยู่เสมอ ดังนั้นรายการนี้อาจไม่ครอบคลุมทั้งหมด
-
หากไม่ได้ระบุ
languageAPI จะพยายามใช้ภาษาที่ต้องการตามที่ระบุไว้ในส่วนหัวAccept-Language - API จะพยายามอย่างเต็มที่เพื่อให้ที่อยู่ที่อ่านง่ายสำหรับทั้งผู้ใช้และคนในพื้นที่ เพื่อให้บรรลุเป้าหมายดังกล่าว ระบบจะแสดงที่อยู่ในภาษาท้องถิ่น โดยแปลงเป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น ตามภาษาที่ต้องการ ส่วนที่อยู่อื่นๆ จะแสดงในภาษาที่ต้องการ คอมโพเนนต์ของที่อยู่ ทั้งหมดจะแสดงในภาษาเดียวกัน ซึ่งเลือกจากคอมโพเนนต์แรก
- หากชื่อไม่มีในภาษาที่ต้องการ API จะใช้ชื่อที่ใกล้เคียงที่สุด
- ภาษาที่ต้องการมีผลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกที่จะแสดงผล และลำดับที่แสดงผล Geocoder จะตีความตัวย่อแตกต่างกันไปตามภาษา เช่น ตัวย่อสำหรับประเภทถนน หรือคำพ้องความหมายที่อาจ ใช้ได้ในภาษาหนึ่งแต่ใช้ไม่ได้ในอีกภาษาหนึ่ง เช่น utca และ tér เป็นคำพ้องความหมายของถนนในภาษาฮังการี
-
โหมด
คุณระบุ รูปแบบการเดินทางที่จะใช้ในการคำนวณระยะทางและเส้นทางได้ โดยค่าเริ่มต้น ระบบจะใช้โหมด
DRIVINGโดยค่าเริ่มต้น ระบบจะคำนวณเส้นทางเป็นเส้นทางการขับรถ ระบบรองรับ โหมดการเดินทางต่อไปนี้-
driving(ค่าเริ่มต้น) ระบุเส้นทางการขับขี่มาตรฐานหรือ ระยะทางโดยใช้เครือข่ายถนน -
walkingขอเส้นทางหรือระยะทางเดินโดยใช้ ทางเท้าและทางเดินเท้า (หากมี) -
bicyclingขอเส้นทางหรือระยะทางสำหรับจักรยานโดยใช้ เส้นทางจักรยานและถนนที่ต้องการ (หากมี) -
transitขอเส้นทางหรือระยะทางโดยใช้เส้นทางขนส่งสาธารณะ (หากมี) หากตั้งค่าโหมดเป็นขนส่งสาธารณะ คุณจะระบุdeparture_timeหรือarrival_timeก็ได้ หากไม่ได้ระบุเวลาใดเวลาหนึ่ง ค่าเริ่มต้นของdeparture_timeจะเป็นเวลาปัจจุบัน (กล่าวคือ เวลาออกเดินทางจะเป็น เวลาปัจจุบันโดยค่าเริ่มต้น) นอกจากนี้ คุณยังเลือกที่จะรวมtransit_modeและ/หรือtransit_routing_preferenceได้ด้วย
หมายเหตุ: บางครั้งทั้งเส้นทางเดินเท้าและเส้นทางจักรยานอาจไม่มี เส้นทางเดินเท้าหรือเส้นทางจักรยานที่ชัดเจน ดังนั้นเส้นทางเหล่านี้จะแสดง คำเตือนในผลลัพธ์ที่แสดง ซึ่งคุณต้องแสดงต่อผู้ใช้หมายเหตุ: การเดินทางด้วยระบบขนส่งสาธารณะจะพร้อมใช้งานเป็นเวลาสูงสุด 7 วันในอดีตหรือสูงสุด 100 วันในอนาคต โดยขึ้นอยู่กับความพร้อมใช้งานของข้อมูลระบบขนส่งสาธารณะที่ผู้ให้บริการข้อมูลจัดหาให้ ตารางเวลาขนส่งสาธารณะมีการเปลี่ยนแปลงบ่อยครั้ง การเดินทางด้วยขนส่งสาธารณะที่พร้อมให้บริการอาจเปลี่ยนแปลงไปตามเวลา และ ไม่มีการรับประกันว่าจะให้ผลลัพธ์ที่สอดคล้องกันสำหรับการคาดการณ์ล่วงหน้า -
-
ภูมิภาค
รหัสภูมิภาคที่ระบุเป็นค่าccTLD ("โดเมนระดับบนสุด") 2 อักขระ รหัส ccTLD ส่วนใหญ่จะเหมือนกับรหัส ISO 3166-1 โดยมีข้อยกเว้นที่สำคัญบางประการ ตัวอย่างเช่น ccTLD ของสหราชอาณาจักรคือ "uk" (.co.uk) ในขณะที่รหัส ISO 3166-1 คือ "gb" (ในทางเทคนิคสำหรับ นิติบุคคลของ "สหราชอาณาจักรบริเตนใหญ่และไอร์แลนด์เหนือ")
-
traffic_model
ระบุสมมติฐานที่จะใช้เมื่อคำนวณเวลาในการเข้าชม การตั้งค่านี้ จะส่งผลต่อค่าที่แสดงในฟิลด์ duration_in_traffic ใน การตอบกลับ ซึ่งมีเวลาที่คาดการณ์ในการเข้าชมตามค่าเฉลี่ยในอดีต ระบุพารามิเตอร์
traffic_modelได้เฉพาะ เส้นทางโดยรถยนต์ที่คำขอมีdeparture_timeเท่านั้น ค่าที่ใช้ได้สำหรับพารามิเตอร์นี้ ได้แก่-
best_guess(ค่าเริ่มต้น) ระบุว่า duration_in_traffic ที่แสดงควรเป็นค่าประมาณเวลาเดินทางที่ดีที่สุดตามข้อมูลสภาพการจราจรในอดีตและการจราจรแบบเรียลไทม์ การจราจรแบบเรียลไทม์จะมีความสำคัญมากขึ้นเมื่อdeparture_timeใกล้กับเวลาปัจจุบันมากขึ้น -
pessimisticแสดงว่า duration_in_traffic ที่แสดงควรนานกว่าเวลาเดินทางจริงในวันส่วนใหญ่ แม้ว่าบางวันที่มีสภาพการจราจรแย่เป็นพิเศษอาจมีค่าเกินกว่าค่านี้ -
optimisticแสดงว่า duration_in_traffic ที่แสดงผล ควรสั้นกว่าเวลาเดินทางจริงในวันส่วนใหญ่ แม้ว่า บางวันที่มีสภาพการจราจรดีเป็นพิเศษอาจเร็วกว่า ค่านี้
ค่าเริ่มต้นของ
best_guessจะให้การคาดการณ์ที่มีประโยชน์มากที่สุด สำหรับกรณีการใช้งานส่วนใหญ่ เป็นไปได้ที่best_guessการคาดการณ์เวลาเดินทางอาจสั้นกว่าoptimisticหรือยาวกว่าpessimisticเนื่องจากวิธีที่best_guessโมเดลการคาดการณ์ผสานรวมข้อมูลการจราจรแบบเรียลไทม์ -
-
transit_mode
ระบุรูปแบบการขนส่งที่ต้องการอย่างน้อย 1 รูปแบบ พารามิเตอร์นี้ระบุได้เฉพาะ เส้นทางขนส่งสาธารณะเท่านั้น พารามิเตอร์รองรับอาร์กิวเมนต์ต่อไปนี้
-
busระบุว่าเส้นทางที่คำนวณควรเลือก การเดินทางโดยรถประจำทาง -
subwayระบุว่าเส้นทางที่คำนวณแล้วควร ใช้รถไฟใต้ดิน -
trainแสดงว่าเส้นทางที่คำนวณควร แนะนำการเดินทางโดยรถไฟ -
tramแสดงว่าเส้นทางที่คำนวณแล้วควรเลือก การเดินทางด้วยรถรางและรถไฟฟ้ารางเบา -
railระบุว่าเส้นทางที่คำนวณควรเลือก การเดินทางโดยรถไฟ รถราง รถไฟฟ้ารางเบา และรถไฟใต้ดิน ซึ่งเทียบเท่ากับtransit_mode=train|tram|subway
-
-
transit_routing_preference
ระบุค่ากำหนดสำหรับเส้นทางขนส่งสาธารณะ การใช้พารามิเตอร์นี้จะช่วยให้คุณ เอนเอียงตัวเลือกที่แสดงแทนที่จะยอมรับเส้นทางที่ดีที่สุดเริ่มต้น ที่ API เลือก พารามิเตอร์นี้ระบุได้เฉพาะเส้นทางขนส่งสาธารณะ เท่านั้น พารามิเตอร์รองรับอาร์กิวเมนต์ต่อไปนี้
-
less_walkingระบุว่าเส้นทางที่คำนวณควร เลือกการเดินในระยะทางที่จำกัด -
fewer_transfersแสดงว่าเส้นทางที่คำนวณแล้วควร เลือกการต่อรถจำนวนจำกัด
-
-
หน่วย
ระบุระบบหน่วยที่จะใช้เมื่อแสดงผลลัพธ์
หมายเหตุ: การตั้งค่าระบบหน่วยนี้จะมีผลกับข้อความที่แสดงใน ฟิลด์ระยะทางเท่านั้น ฟิลด์ระยะทางยังมีค่าที่แสดงเป็นเมตรเสมอ อีกด้วย
ตัวอย่างคำขอ
ตัวอย่างนี้ใช้พิกัดละติจูด/ลองจิจูดเพื่อระบุพิกัดปลายทาง
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626 &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626&key=YOUR_API_KEY'
ตัวอย่างนี้ใช้ Plus Codes เพื่อระบุพิกัดปลายทาง
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco &origins=849VCWC8%2BR9 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=849VCWC8%2BR9&destinations=San%20Francisco&key=YOUR_API_KEY'
ตัวอย่างนี้แสดงคำขอเดียวกันโดยใช้เส้นหลายส่วนที่เข้ารหัส
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A&key=YOUR_API_KEY'
ข้อมูลการจราจร
ระบบจะใช้ข้อมูลการจราจรเมื่อมีเงื่อนไขต่อไปนี้ทั้งหมด (เงื่อนไขเหล่านี้เป็นเงื่อนไขที่จำเป็นในการรับฟิลด์ duration_in_traffic
ในการตอบกลับเมทริกซ์ระยะทาง)
modeพารามิเตอร์การเดินทางคือdrivingหรือไม่ได้ระบุ (drivingคือโหมดการเดินทางเริ่มต้น)- คำขอมีพารามิเตอร์
departure_timeที่ถูกต้อง คุณสามารถตั้งค่าdeparture_timeเป็นเวลาปัจจุบันหรือเวลาในอนาคตได้ ต้องไม่ใช่วันที่ที่ผ่านมาแล้ว
คุณเลือกที่จะรวมพารามิเตอร์ traffic_model ไว้ในคำขอเพื่อระบุสมมติฐานที่จะใช้เมื่อคำนวณเวลาในการเข้าชมได้
URL ต่อไปนี้จะเริ่มต้นคำขอเมทริกซ์ระยะทางสำหรับระยะทางในการขับรถ
ระหว่างบอสตัน แมสซาชูเซตส์ หรือชาร์ลส์ทาวน์ แมสซาชูเซตส์ กับเล็กซิงตัน แมสซาชูเซตส์ และคองคอร์ด แมสซาชูเซตส์ คำขอ
มีเวลาออกเดินทาง ซึ่งเป็นไปตามข้อกำหนดทั้งหมดในการแสดงผลฟิลด์
duration_in_trafficในการตอบกลับเมทริกซ์ระยะทาง
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?departure_time=now &destinations=Lexington%2CMA%7CConcord%2CMA &origins=Boston%2CMA%7CCharlestown%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Boston%2CMA%7CCharlestown%2CMA&destinations=Lexington%2CMA%7CConcord%2CMA&departure_time=now&key=YOUR_API_KEY'
JSON
{ "destination_addresses": ["Lexington, MA, USA", "Concord, MA, USA"], "origin_addresses": ["Boston, MA, USA", "Charlestown, Boston, MA, USA"], "rows": [ { "elements": [ { "distance": { "text": "33.3 km", "value": 33253 }, "duration": { "text": "27 mins", "value": 1620 }, "duration_in_traffic": { "text": "34 mins", "value": 2019 }, "status": "OK", }, { "distance": { "text": "41.5 km", "value": 41491 }, "duration": { "text": "33 mins", "value": 1981 }, "duration_in_traffic": { "text": "39 mins", "value": 2342 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "31.1 km", "value": 31100 }, "duration": { "text": "26 mins", "value": 1543 }, "duration_in_traffic": { "text": "29 mins", "value": 1754 }, "status": "OK", }, { "distance": { "text": "39.3 km", "value": 39338 }, "duration": { "text": "32 mins", "value": 1904 }, "duration_in_traffic": { "text": "35 mins", "value": 2077 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Boston, MA, USA Charlestown, Boston, MA, USA Lexington, MA, USA Concord, MA, USA |
OK 1620 27 mins 33253 33.3 km 2018 34 mins OK 1981 33 mins 41491 41.5 km 2342 39 mins |
OK 1543 26 mins 31100 31.1 km 1759 29 mins OK 1904 32 mins 39338 39.3 km 2077 35 mins
ตัวปรับแต่งสถานที่
คุณสามารถใช้ตัวแก้ไขตำแหน่งเพื่อระบุวิธีที่คนขับควรเข้าใกล้สถานที่หนึ่งๆ โดยใช้ตัวแก้ไข side_of_road เพื่อระบุว่าควรใช้ถนนฝั่งใด หรือระบุส่วนหัวเพื่อระบุทิศทางการเดินทางที่ถูกต้อง
ระบุว่าเส้นทางที่คำนวณต้องผ่านถนนด้านใดด้านหนึ่ง
เมื่อระบุสถานที่ คุณสามารถขอให้เส้นทางที่คำนวณแล้วผ่านด้านใดด้านหนึ่งของถนนที่จุดอ้างอิงอยู่โดยใช้คำนำหน้า side_of_road:
เช่น คำขอนี้จะแสดงระยะทางสำหรับเส้นทางยาวเพื่อให้ยานพาหนะสิ้นสุดที่ด้านข้างของถนนซึ่งมีจุดอ้างอิงที่เอนเอียง
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3A37.7663444%2C-122.4412006 &origins=37.7680296%2C-122.4375126 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=37.7680296%2C-122.4375126&destinations=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'
เมื่อใช้ side_of_road: กับเส้นหลายจุดที่เข้ารหัส ระบบจะใช้ตัวปรับแต่งกับ
ทุกตำแหน่งตามเส้นหลายจุด ตัวอย่างเช่น ปลายทาง 2 แห่งในคำขอ
นี้ใช้พารามิเตอร์เดียวกัน
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A &origins=San%20Francisco%20City%20hall &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=San%20Francisco%20City%20hall&destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A&key=YOUR_API_KEY'
ตัวแก้ไข side_of_road: ใช้ได้กับข้อจำกัดนี้เท่านั้น
modeพารามิเตอร์การเดินทางคือdrivingหรือไม่ได้ระบุ (drivingคือโหมดการเดินทางเริ่มต้น)
ระบุว่าเส้นทางที่คำนวณแล้วควรมีส่วนหัวที่เฉพาะเจาะจง
เมื่อระบุสถานที่ คุณขอให้เส้นทางที่คำนวณแล้วผ่าน
สถานที่นั้นในทิศทางที่เฉพาะเจาะจงได้ ส่วนหัวนี้ระบุด้วยคำนำหน้า
heading=X: โดยที่ X คือค่าองศาที่เป็นจำนวนเต็มระหว่าง 0 (รวม) ถึง 360 (ไม่รวม) การมุ่งหน้า 0 หมายถึงทิศเหนือ 90 หมายถึงทิศตะวันออก
และหมุนตามเข็มนาฬิกา ตัวอย่างเช่น ในคำขอนี้ เส้นทางที่คำนวณจะไปทางตะวันออก จากต้นทาง แล้วเลี้ยวกลับ
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=37.773245%2C-122.469502 &origins=heading%3D90%3A37.773279%2C-122.468780 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=heading%3D90%3A37.773279%2C-122.468780&destinations=37.773245%2C-122.469502&key=YOUR_API_KEY'
ตัวแก้ไข heading=X: จะใช้ได้ภายใต้ข้อจำกัดต่อไปนี้เท่านั้น
modeพารามิเตอร์การเดินทางคือdriving,bicyclingหรือไม่ได้ ระบุ (drivingคือโหมดการเดินทางเริ่มต้น)- ไม่ได้ระบุตัวปรับ
side_of_roadสำหรับสถานที่ตั้งเดียวกัน - ตำแหน่งจะระบุด้วยค่าละติจูด/ลองจิจูด คุณต้องไม่ใช้
headingกับที่อยู่ รหัสสถานที่ หรือเส้นหลายส่วนที่เข้ารหัส
คำขอและการตอบกลับของ Distance Matrix
ตัวอย่างคำขอ HTTP แสดงอยู่ด้านล่าง ซึ่งขอระยะทางและระยะเวลา จากแวนคูเวอร์ รัฐบริติชโคลัมเบีย แคนาดา และจากซีแอตเทิล รัฐวอชิงตัน สหรัฐอเมริกา ไปยังซานฟรานซิสโก รัฐแคลิฟอร์เนีย สหรัฐอเมริกา และไปยังวิกตอเรีย รัฐบริติชโคลัมเบีย แคนาดา
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco%7CVictoria%20BC &language=fr-FR &mode=bicycling &origins=Vancouver%20BC%7CSeattle &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver%20BC%7CSeattle&destinations=San%20Francisco%7CVictoria%20BC&mode=bicycling&language=fr-FR&key=YOUR_API_KEY'
คำขอนี้จะแสดงผลองค์ประกอบ 4 รายการ ได้แก่ ต้นทาง 2 รายการและปลายทาง 2 รายการ
| แวนคูเวอร์ไปซานฟรานซิสโก | แวนคูเวอร์ไปวิกตอเรีย |
| ซีแอตเทิลไปซานฟรานซิสโก | ซีแอตเทิลไปวิกตอเรีย |
ระบบจะแสดงผลลัพธ์ในแถว โดยแต่ละแถวจะมีต้นทาง 1 รายการที่จับคู่กับปลายทางแต่ละรายการ
JSON
{ "destination_addresses": ["San Francisco, Californie, États-Unis", "Victoria, BC, Canada"], "origin_addresses": ["Vancouver, BC, Canada", "Seattle, Washington, États-Unis"], "rows": [ { "elements": [ { "distance": { "text": "1 712 km", "value": 1711765 }, "duration": { "text": "3 jours 16 heures", "value": 318119 }, "status": "OK", }, { "distance": { "text": "140 km", "value": 139695 }, "duration": { "text": "6 heures 49 minutes", "value": 24567 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "1 452 km", "value": 1451704 }, "duration": { "text": "3 jours 2 heures", "value": 266680 }, "status": "OK", }, { "distance": { "text": "146 km", "value": 146500 }, "duration": { "text": "2 heures 53 minutes", "value": 10374 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Vancouver, BC, Canada Seattle, Washington, États-Unis San Francisco, Californie, États-Unis Victoria, BC, Canada |
OK 318119 3 jours 16 heures 1711765 1 712 km OK 24567 6 heures 49 minutes 139695 140 km |
OK 266680 3 jours 2 heures 1451704 1 452 km OK 10374 2 heures 53 minutes 146500 146 km
DistanceMatrixResponse
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | Array<string> |
อาร์เรย์ของที่อยู่ตามที่ API แสดงผลจากคำขอเดิม
ของคุณ เช่นเดียวกับ |
|
ต้องระบุ | Array<string> |
อาร์เรย์ของที่อยู่ตามที่ API แสดงผลจากคำขอเดิม ของคุณ โดย Geocoder จะจัดรูปแบบและแปลข้อมูลเหล่านี้ตามพารามิเตอร์ภาษาที่ส่งพร้อมกับคำขอ เนื้อหานี้มีไว้เพื่ออ่านตามที่แสดง อย่าแยกวิเคราะห์ที่อยู่ที่จัดรูปแบบ โดยใช้โปรแกรม |
|
ต้องระบุ | Array<DistanceMatrixRow> |
อาร์เรย์ขององค์ประกอบ ซึ่งแต่ละองค์ประกอบจะมี ดูข้อมูลเพิ่มเติมได้ที่ DistanceMatrixRow |
|
ต้องระบุ | DistanceMatrixStatus |
มีสถานะของคำขอ และอาจมีข้อมูลการแก้ไขข้อบกพร่อง เพื่อช่วยคุณติดตามหาสาเหตุที่คำขอไม่สำเร็จ ดูข้อมูลเพิ่มเติมได้ที่ DistanceMatrixStatus |
|
ไม่บังคับ | สตริง |
สตริงที่มีข้อความที่มนุษย์อ่านได้ของข้อผิดพลาด ที่พบขณะประมวลผลคำขอ |
DistanceMatrixStatus
รหัสสถานะที่บริการส่งกลับ
OKแสดงว่าคำตอบมีผลลัพธ์ที่ถูกต้อง-
INVALID_REQUESTบ่งชี้ว่าคำขอที่ระบุไม่ถูกต้อง -
MAX_ELEMENTS_EXCEEDEDแสดงว่าผลิตภัณฑ์ต้นทางและ ปลายทางเกินขีดจำกัดต่อคำค้นหา -
MAX_DIMENSIONS_EXCEEDEDแสดงว่าจำนวนต้นทางหรือ ปลายทางเกินขีดจำกัดต่อคำค้นหา -
OVER_DAILY_LIMITบ่งบอกถึงสิ่งต่อไปนี้- คีย์ API ขาดหายไปหรือไม่ถูกต้อง
- บัญชีของคุณไม่ได้เปิดใช้การเรียกเก็บเงิน
- มีการใช้งานเกินขีดจำกัดการใช้งานที่กำหนดเอง
- วิธีการชำระเงินที่ระบุใช้ไม่ได้อีกต่อไป (เช่น บัตรเครดิตหมดอายุ)
-
OVER_QUERY_LIMITแสดงว่าบริการได้รับคำขอจากแอปพลิเคชันของคุณมากเกินไปภายในระยะเวลาที่อนุญาต -
REQUEST_DENIEDแสดงว่าบริการปฏิเสธการใช้บริการ Distance Matrix โดยแอปพลิเคชันของคุณ -
UNKNOWN_ERRORแสดงว่าประมวลผลคำขอเมทริกซ์ระยะทางไม่ได้เนื่องจากข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ คำขออาจสำเร็จหากคุณลองอีกครั้ง
DistanceMatrixRow
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | อาร์เรย์<DistanceMatrixElement> |
เมื่อ Distance Matrix API แสดงผลลัพธ์ ระบบจะวางผลลัพธ์ไว้ใน อาร์เรย์แถว JSON แม้ว่าจะไม่มีผลลัพธ์แสดง (เช่น เมื่อไม่มีต้นทางและ/หรือปลายทาง) ระบบก็จะยังแสดงผลเป็นอาร์เรย์เปล่า ระบบจะจัดเรียงแถวตามค่าในพารามิเตอร์ต้นทางของ คำขอ แต่ละแถวสอดคล้องกับต้นทาง และแต่ละองค์ประกอบ ภายในแถวนั้นสอดคล้องกับการจับคู่ต้นทางกับค่า ปลายทาง อาร์เรย์แถวแต่ละแถวจะมีรายการองค์ประกอบอย่างน้อย 1 รายการ ซึ่งจะมีข้อมูลเกี่ยวกับการจับคู่ต้นทาง-ปลายทางรายการเดียว ดูข้อมูลเพิ่มเติมได้ที่ DistanceMatrixElement |
DistanceMatrixElement
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | DistanceMatrixElementStatus |
สถานะขององค์ประกอบ ดูข้อมูลเพิ่มเติมได้ที่ DistanceMatrixElementStatus |
|
ไม่บังคับ | TextValueObject |
ระยะทางรวมของเส้นทางนี้ แสดงเป็นเมตร (ค่า) และเป็นข้อความ ค่าที่เป็นข้อความจะใช้ระบบหน่วยที่ระบุด้วยพารามิเตอร์หน่วย ของคำขอเดิม หรือภูมิภาคของต้นทาง ดูข้อมูลเพิ่มเติมได้ที่ TextValueObject |
|
ไม่บังคับ | TextValueObject |
ระยะเวลาที่ใช้ในการเดินทางในเส้นทางนี้ แสดงเป็น วินาที (ฟิลด์ค่า) และเป็นข้อความ การแสดงข้อความจะ แปลตามพารามิเตอร์ภาษาของคำค้นหา ดูข้อมูลเพิ่มเติมได้ที่ TextValueObject |
|
ไม่บังคับ | TextValueObject |
ระยะเวลาที่ใช้ในการเดินทางในเส้นทางนี้ โดยอิงตามสภาพการจราจรปัจจุบัน
และในอดีต ดูตัวเลือกที่คุณใช้เพื่อขอให้ค่าที่แสดงเป็นค่าประมาณแบบมองโลกในแง่ดี แบบมองโลกในแง่ร้าย หรือแบบคาดคะเนที่ดีที่สุดได้ใน
ดูข้อมูลเพิ่มเติมได้ที่ TextValueObject |
|
ไม่บังคับ | ค่าโดยสาร |
หากมี จะมีค่าโดยสารทั้งหมด (นั่นคือ ค่าตั๋วทั้งหมด) ในเส้นทางนี้ ระบบจะแสดงพร็อพเพอร์ตี้นี้สําหรับคําขอการเดินทางด้วยขนส่งสาธารณะเท่านั้น และสําหรับผู้ให้บริการขนส่งสาธารณะที่มีข้อมูลค่าโดยสารเท่านั้น ดูข้อมูลเพิ่มเติมได้ที่ค่าโดยสาร |
ค่าโดยสาร
ค่าโดยสารทั้งหมดสำหรับเส้นทาง
{
"currency" : "USD",
"value" : 6,
"text" : "$6.00"
}
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | สตริง |
รหัสสกุลเงิน ISO 4217 ซึ่งระบุสกุลเงินที่แสดงจำนวนเงิน |
|
ต้องระบุ | สตริง |
จำนวนค่าโดยสารทั้งหมดที่จัดรูปแบบในภาษาที่ขอ |
|
ต้องระบุ | ตัวเลข |
จำนวนค่าโดยสารทั้งหมดในสกุลเงินที่ระบุ |
DistanceMatrixElementStatus
OKแสดงว่าคำตอบมีผลลัพธ์ที่ถูกต้อง-
NOT_FOUNDแสดงว่าระบบไม่สามารถแปลงรหัสพิกัดภูมิศาสตร์ของต้นทางและ/หรือปลายทางของ การจับคู่นี้ได้ -
ZERO_RESULTSแสดงว่าไม่พบเส้นทางระหว่างต้นทางกับจุดหมาย -
MAX_ROUTE_LENGTH_EXCEEDEDหมายความว่าเส้นทางที่ขอ ยาวเกินไปและประมวลผลไม่ได้
TextValueObject
ออบเจ็กต์ที่มีค่าตัวเลขและการแสดงข้อความที่จัดรูปแบบแล้ว
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | สตริง |
ค่าสตริง |
|
ต้องระบุ | ตัวเลข |
ค่าตัวเลข |