คำนวณสรุปการกำหนดเส้นทาง
วิธีใช้การค้นหาด้วยข้อความ (ใหม่) หรือการค้นหาใกล้เคียง (ใหม่) เพื่อคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในคำตอบ
-
ส่งพารามิเตอร์
routingParameters.origin
ในคำขอเพื่อระบุ พิกัดละติจูดและลองจิจูดของต้นทางการกำหนดเส้นทาง พารามิเตอร์นี้ จำเป็นต่อการคำนวณระยะเวลาและระยะทางไปยังสถานที่แต่ละแห่งใน การตอบกลับ -
รวม
routingSummaries
ไว้ในมาสก์ฟิลด์เพื่อให้การตอบกลับมีอาร์เรย์routingSummaries
อาร์เรย์นี้มีระยะเวลาและระยะทาง จากต้นทางการกำหนดเส้นทางไปยังสถานที่แต่ละแห่งในการตอบกลับ
โปรแกรมสำรวจ API ช่วยให้คุณส่งคำขอแบบเรียลไทม์เพื่อให้คุ้นเคยกับ API และตัวเลือก API ดังนี้
ใช้การค้นหาข้อความ (ใหม่)
ในคำขอต่อไปนี้ คุณจะคำนวณระยะเวลาการเดินทางและระยะทางไปยังแต่ละสถานที่ในคำตอบของ Text Search (ใหม่)
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
การตอบกลับมีอาร์เรย์ JSON 2 รายการ ได้แก่ อาร์เรย์ places
ที่มีสถานที่ที่ตรงกัน
และอาร์เรย์ routingSummaries
ที่มีระยะเวลาและระยะทางในการ
เดินทางไปยังแต่ละสถานที่
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
แต่ละองค์ประกอบในอาร์เรย์ routingSummaries
จะอยู่ที่ตำแหน่งอาร์เรย์ที่สอดคล้องกันเป็นตำแหน่งในอาร์เรย์ places
กล่าวคือ องค์ประกอบที่
routingSummaries[0]
จะสอดคล้องกับสถานที่ที่ places[0]
ความยาวของอาร์เรย์ routingSummaries
เท่ากับความยาวของอาร์เรย์
places
ในกรณีที่ไม่มี routingSummary
สำหรับสถานที่หนึ่งๆ
รายการอาร์เรย์จะเป็นค่าว่าง
เนื่องจากตัวอย่างนี้คำนวณระยะเวลาและระยะทางจากการกำหนดเส้นทาง
ต้นทางไปยังแต่ละสถานที่ ฟิลด์ routingSummaries.legs
ในการตอบกลับจึงมีออบเจ็กต์ Leg
รายการเดียว
ซึ่งมี duration
และ distanceMeters
จาก
ต้นทางการกำหนดเส้นทางไปยังสถานที่
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
จากตัวอย่างนี้ คุณจะเห็นว่าระยะเวลาและระยะทางจากการกำหนดเส้นทาง จากต้นทางไปยังสถานที่แรกในผลลัพธ์คือ 597 วินาทีและ 2607 เมตร
ใช้การค้นหาในบริเวณใกล้เคียง
ในตัวอย่างนี้ คุณจะคำนวณระยะเวลาในการเดินทางและระยะทางไปยังแต่ละสถานที่ใน การตอบกลับการค้นหาใกล้เคียง ตัวอย่างนี้ค้นหาร้านอาหารในซิดนีย์ ออสเตรเลีย และตั้งค่าข้อจำกัดด้านสถานที่ตั้งและต้นทางการกำหนดเส้นทางเป็นพิกัดละติจูดและลองจิจูดเดียวกัน
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": -33.8688, "longitude": 151.1957362}, "radius": 500.0 } }, "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \ -H "X-Goog-FieldMask: places.displayName,routingSummaries" \ https://places.googleapis.com/v1/places:searchNearby
คุณไม่จำเป็นต้องใช้พิกัดเดียวกันสำหรับ locationRestriction
และ
สำหรับต้นทางการกำหนดเส้นทาง เช่น คุณตั้งค่า locationRestriction
เป็นจุดศูนย์กลางของซิดนีย์เพื่อให้น้ำหนักผลการค้นหาไปที่วงกลมนั้น แต่คุณตั้งค่าต้นทางการกำหนดเส้นทางเป็นพิกัดของบ้าน ซึ่งหมายถึงตำแหน่งอื่นภายในวงกลมการค้นหา จากนั้นคำขอจะเอนเอียงผลการค้นหาไปยัง
วงกลม และคำนวณข้อมูลสรุปการกำหนดเส้นทางตามตำแหน่งของ
บ้าน
ระบุตัวเลือกการเดินทาง
โดยค่าเริ่มต้น การคำนวณระยะเวลาและระยะทางจะเป็นของรถยนต์ อย่างไรก็ตาม คุณ สามารถควบคุมประเภทรถ รวมถึงตัวเลือกอื่นๆ ในการค้นหาได้
-
ใช้พารามิเตอร์
routingParameters.travelMode
เพื่อตั้งค่าโหมดการเดินทางเป็นDRIVE
,BICYCLE
,WALK
หรือTWO_WHEELER
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกเหล่านี้ได้ที่ประเภทยานพาหนะที่ใช้ได้สำหรับเส้นทาง -
ใช้พร็อพเพอร์ตี้
routingParameters.routingPreference
เพื่อตั้งค่าตัวเลือกค่ากำหนดการกำหนดเส้นทางเป็นTRAFFIC_UNAWARE
(ค่าเริ่มต้น)TRAFFIC_AWARE
หรือTRAFFIC_AWARE_OPTIMAL
แต่ละตัวเลือกมีระดับคุณภาพของข้อมูลและความหน่วงที่แตกต่างกัน ดูข้อมูลเพิ่มเติมได้ที่ระบุวิธีและระบุว่าจะรวมข้อมูลการเข้าชมหรือไม่พร็อพเพอร์ตี้
routingParameters.routingPreference
มีผลต่อเส้นทางที่อยู่ในฟิลด์ตัวอย่าง (ก่อน GA)directionsUri
เนื่องจาก Google Maps จะแสดงตัวเลือกการจราจรเมื่อเปิดลิงก์ -
ใช้พร็อพเพอร์ตี้
routingParameters.routeModifiers
เพื่อระบุถึงavoidTolls
,avoidHighways
,avoidFerries
และavoidIndoor
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกเหล่านี้ได้ที่ระบุฟีเจอร์เส้นทางเพื่อหลีกเลี่ยง
ในตัวอย่างถัดไป คุณจะระบุโหมดการเดินทางเป็น DRIVE
และหลีกเลี่ยง
ทางหลวง
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 }, "travelMode":"DRIVE", "routeModifiers": { "avoidHighways": true } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
ลองใช้งาน
โปรแกรมสำรวจ API ช่วยให้คุณส่งคำขอตัวอย่างได้ เพื่อให้คุ้นเคยกับ API และตัวเลือก API
เลือกไอคอน API api ทางด้านขวาของหน้า
แก้ไขพารามิเตอร์คำขอ (ไม่บังคับ)
เลือกปุ่มดำเนินการ ในกล่องโต้ตอบ ให้เลือกบัญชี ที่ต้องการใช้เพื่อส่งคำขอ
ในแผงโปรแกรมสำรวจ API ให้เลือกไอคอนเต็มหน้าจอ fullscreen เพื่อขยายหน้าต่างโปรแกรมสำรวจ API