คำนวณข้อมูลสรุปการกำหนดเส้นทาง
วิธีใช้การค้นหาข้อความ (ใหม่) หรือการค้นหาใกล้เคียง (ใหม่)เพื่อคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับ
-
ส่งพารามิเตอร์
routingParameters.origin
ในคําขอเพื่อระบุพิกัดละติจูดและลองจิจูดของต้นทางการกำหนดเส้นทาง พารามิเตอร์นี้คือ เพื่อคำนวณระยะเวลาและระยะทางไปยังแต่ละสถานที่ใน คำตอบ -
ใส่
routingSummaries
ในมาสก์ของช่องเพื่อให้คำตอบรวม อาร์เรย์routingSummaries
อาร์เรย์นี้มีระยะเวลาและระยะทางจากต้นทางการกำหนดเส้นทางไปยังสถานที่แต่ละแห่งในการตอบกลับ
ใช้การค้นหาข้อความ (ใหม่)
ในคำขอต่อไปนี้ คุณคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับของ 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": [ { "legs": [ object (Leg) ] } ] }
องค์ประกอบแต่ละรายการในอาร์เรย์ routingSummaries
อยู่ในอาร์เรย์ที่เกี่ยวข้อง
เป็นตำแหน่งในอาร์เรย์ places
กล่าวคือ องค์ประกอบที่
routingSummaries[0]
สอดคล้องกับสถานที่ซึ่งอยู่ที่ places[0]
ความยาวอาร์เรย์ของ routingSummaries
เท่ากับความยาวอาร์เรย์ของ
places
ในกรณีที่ routingSummary
ของสถานที่ไม่พร้อมใช้งาน
รายการอาร์เรย์ว่างเปล่า
เนื่องจากตัวอย่างนี้คำนวณระยะเวลาและระยะทางจากต้นทางการกำหนดเส้นทางไปยังสถานที่แต่ละแห่ง ช่อง 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 } ] }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ] }, … ] }
จากตัวอย่างนี้ คุณจะเห็นได้ว่าระยะเวลาและระยะทางจากการกำหนดเส้นทาง ต้นทางเป็นตำแหน่งแรกในผลลัพธ์คือ 597 วินาทีและ 2,607 เมตร
ใช้การค้นหาในบริเวณใกล้เคียง
ในตัวอย่างนี้ คุณคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับของ Search ในพื้นที่ใกล้เคียง ตัวอย่างนี้จะค้นหาร้านอาหารในซิดนีย์ ประเทศออสเตรเลีย และตั้งค่าการจำกัดตำแหน่งและต้นทางการกำหนดเส้นทางเป็นพิกัดละติจูดและลองจิจูดเดียวกัน
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.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'