คํานวณสรุปการกำหนดเส้นทาง
วิธีใช้การค้นหาข้อความ (ใหม่) หรือการค้นหาใกล้เคียง (ใหม่)เพื่อคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับ
-
ส่งพารามิเตอร์
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 วินาทีและ 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.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'