คำนวณสรุปการกำหนดเส้นทาง
หากต้องการใช้การค้นหาข้อความ (ใหม่) หรือการค้นหาในบริเวณใกล้เคียง (ใหม่) เพื่อคำนวณระยะเวลาและระยะทางในการเดินทางไปยังสถานที่แต่ละแห่งในการตอบกลับ ให้ทำดังนี้
-
ส่งพารามิเตอร์
routingParameters.originในคำขอเพื่อระบุพิกัดละติจูดและลองจิจูดของต้นทางเส้นทาง ต้องระบุพารามิเตอร์นี้เพื่อคำนวณระยะเวลาและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับ -
ใส่
routingSummariesในมาสก์ฟิลด์เพื่อให้การตอบกลับมีอาร์เรย์routingSummariesอาร์เรย์นี้มีระยะเวลาและระยะทางจากต้นทางการกำหนดเส้นทางไปยังสถานที่แต่ละแห่งในการตอบกลับ
โปรแกรมสำรวจ API ช่วยให้คุณส่งคำขอแบบสดเพื่อให้คุ้นเคยกับ API และตัวเลือก API ได้ ดังนี้
ใช้การค้นหาข้อความ (ใหม่)
ในคำขอต่อไปนี้ คุณจะคำนวณระยะเวลาและระยะทางในการเดินทางไปยังสถานที่แต่ละแห่งในการตอบกลับการค้นหาข้อความ (ใหม่)
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 เมตร
ใช้การค้นหาในบริเวณใกล้เคียง
ในตัวอย่างนี้ คุณจะคำนวณระยะเวลาและระยะทางในการเดินทางไปยังสถานที่แต่ละแห่งในการตอบกลับการค้นหาในบริเวณใกล้เคียง ตัวอย่างนี้จะค้นหาร้านอาหารในซิดนีย์ ออสเตรเลีย และตั้งค่าข้อจำกัดด้านสถานที่และต้นทางของเส้นทางเป็นพิกัดละติจูดและลองจิจูดเดียวกัน ดังนี้
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ส่งผลต่อเส้นทางที่อยู่ในช่อง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